Require Import
HoTT.Basics
HoTT.DProp
HoTT.BoundedSearch
HoTT.Types.Universe
HoTT .Types.Sum
HoTT.Types.Arrow
HoTT.Spaces.Finite
HoTT.ExcludedMiddle.
Require Import
HoTT.Classes.interfaces.abstract_algebra
HoTT.Classes.interfaces.orders
HoTT.Classes.interfaces.integers
HoTT.Classes.interfaces.rationals
HoTT.Classes.interfaces.naturals
HoTT.Classes.interfaces.cauchy
HoTT.Classes.interfaces.archimedean
HoTT.Classes.interfaces.round
HoTT.Classes.interfaces.naturals
HoTT.Classes.implementations.peano_naturals
HoTT.Classes.orders.orders
HoTT.Classes.orders.archimedean
HoTT.Classes.orders.rings
HoTT.Classes.orders.dec_fields
HoTT.Classes.orders.semirings
HoTT.Classes.orders.lattices
HoTT.Classes.theory.rings
HoTT.Classes.theory.apartness
HoTT.Classes.theory.rationals.
(* Strangely, it seems that combining the next import with the above list breaks some instance search? *)
Require Import
HoTT.Classes.orders.fields
HoTT.Classes.theory.fields
HoTT.Classes.theory.dec_fields.
Local Open Scope type_scope.
Section locator .
Context (Q : Type ).
Context `{Qrats : Rationals Q}.
Context {Qdec_paths : DecidablePaths Q}.
Context {Qtriv : TrivialApart Q}.
Context `{!Trichotomy (<)}.
Context (F : Type ).
Context `{Forderedfield : OrderedField F}.
Context {Fabs : Abs F}.
Context {Farchimedean : ArchimedeanProperty Q F}.
Context {Fcomplete : IsComplete Q F}.
Context {Qroundup : RoundUpStrict Q}.
Context `{Funext} `{Univalence}.
(* Assume we have enumerations of the rationals, and of pairs of ordered rationals. *)
Context (Q_eq : nat <~> Q).
Context (QQpos_eq : nat <~> Q * Qpos Q).
Instance qinc : Cast Q F := rationals_to_field Q F.
(* TODO The following two instances should probably come from the `Rationals` instance. *)
Context (cast_pres_ordering : StrictlyOrderPreserving qinc)
(qinc_strong_presving : IsSemiRingStrongPreserving qinc).
Existing Instance cast_pres_ordering .
Existing Instance qinc_strong_presving .
(* Definition of a locator for a fixed real number. *)
Definition locator (x : F) := forall q r : Q, q < r -> (' q < x) + (x < ' r).
(* Alternative definition; see equivalence below *)
Record locator' (x : F) :=
{ locates_right : forall q r : Q, q < r -> DHProp
; locates_right_true : forall q r : Q, forall nu : q < r, locates_right q r nu -> ' q < x
; locates_right_false : forall q r : Q, forall nu : q < r, ~ locates_right q r nu -> x < ' r
}.
Arguments locates_right [x] _ [q] [r] _.
Arguments locates_right_true [x] _ [q] [r] _.
Arguments locates_right_false [x] _ [q] [r] _.
Definition locates_left {x : F} (l : locator' x) {q r : Q} : q < r -> DHProp :=
fun nu => Build_DHProp (Build_HProp (~ (locates_right l nu))) _.
Section classical .
Context `{ExcludedMiddle}.
Lemma all_reals_locators (x : F) : locator x.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
H1 : ExcludedMiddle
x : F
locator x
Proof .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
H1 : ExcludedMiddle
x : F
locator x
intros q r ltqr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
H1 : ExcludedMiddle
x : F
q, r : Q
ltqr : q < r
(' q < x) + (x < ' r)
case (LEM (' q < x)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
H1 : ExcludedMiddle
x : F
q, r : Q
ltqr : q < r
IsHProp (' q < x)
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
H1 : ExcludedMiddle
x : F
q, r : Q
ltqr : q < r
IsHProp (' q < x)
apply _.
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
H1 : ExcludedMiddle
x : F
q, r : Q
ltqr : q < r
' q < x -> (' q < x) + (x < ' r)
exact inl.
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
H1 : ExcludedMiddle
x : F
q, r : Q
ltqr : q < r
~ (' q < x) -> (' q < x) + (x < ' r)
intros notlt.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
H1 : ExcludedMiddle
x : F
q, r : Q
ltqr : q < r
notlt : ~ (' q < x)
(' q < x) + (x < ' r)
apply inr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
H1 : ExcludedMiddle
x : F
q, r : Q
ltqr : q < r
notlt : ~ (' q < x)
x < ' r
assert (ltqr' : ' q < ' r)
by auto .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
H1 : ExcludedMiddle
x : F
q, r : Q
ltqr : q < r
notlt : ~ (' q < x)
ltqr' : ' q < ' r
x < ' r
exact (nlt_lt_trans notlt ltqr').
Qed .
End classical .
Section rational .
Context (s : Q).
Lemma locator_left : locator (' s).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
s : Q
locator (' s)
Proof .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
s : Q
locator (' s)
intros q r ltqr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
s, q, r : Q
ltqr : q < r
(' q < ' s) + (' s < ' r)
destruct (trichotomy _ q s) as [ltqs|[eqqs|ltsq]].Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
s, q, r : Q
ltqr : q < r
ltqs : q < s
(' q < ' s) + (' s < ' r)
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
s, q, r : Q
ltqr : q < r
ltqs : q < s
(' q < ' s) + (' s < ' r)
apply inl.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
s, q, r : Q
ltqr : q < r
ltqs : q < s
' q < ' s
apply (strictly_order_preserving _); assumption .
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
s, q, r : Q
ltqr : q < r
eqqs : q = s
(' q < ' s) + (' s < ' r)
rewrite eqqs in ltqr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
s, q, r : Q
ltqr : s < r
eqqs : q = s
(' q < ' s) + (' s < ' r)
apply inr, (strictly_order_preserving _); assumption .
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
s, q, r : Q
ltqr : q < r
ltsq : s < q
(' q < ' s) + (' s < ' r)
apply inr, (strictly_order_preserving _), (transitivity ltsq ltqr); assumption .
Qed .
Definition locator_second : locator (' s).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
s : Q
locator (' s)
Proof .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
s : Q
locator (' s)
intros q r ltqr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
s, q, r : Q
ltqr : q < r
(' q < ' s) + (' s < ' r)
destruct (trichotomy _ s r) as [ltsr|[eqsr|ltrs]].Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
s, q, r : Q
ltqr : q < r
ltsr : s < r
(' q < ' s) + (' s < ' r)
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
s, q, r : Q
ltqr : q < r
ltsr : s < r
(' q < ' s) + (' s < ' r)
apply inr, (strictly_order_preserving _); assumption .
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
s, q, r : Q
ltqr : q < r
eqsr : s = r
(' q < ' s) + (' s < ' r)
rewrite <- eqsr in ltqr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
s, q, r : Q
ltqr : q < s
eqsr : s = r
(' q < ' s) + (' s < ' r)
apply inl, (strictly_order_preserving _); assumption .
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
s, q, r : Q
ltqr : q < r
ltrs : r < s
(' q < ' s) + (' s < ' r)
apply inl, (strictly_order_preserving _), (transitivity ltqr ltrs).
Qed .
End rational .
Section logic .
Context {x : F}.
Definition locator_locator' : locator x -> locator' x.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
locator x -> locator' x
Proof .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
locator x -> locator' x
intros l.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
locator' x
refine (Build_locator' x (fun q r nu => Build_DHProp (Build_HProp (is_inl (l q r nu))) _) _ _).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
forall (q r : Q) (nu : q < r),
{|
dhprop_hprop := Build_HProp (is_inl (l q r nu));
dec_dhprop := decidable_is_inl (l q r nu)
|} -> ' q < x
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
forall (q r : Q) (nu : q < r),
{|
dhprop_hprop := Build_HProp (is_inl (l q r nu));
dec_dhprop := decidable_is_inl (l q r nu)
|} -> ' q < x
intros q r nu.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
q, r : Q
nu : q < r
{|
dhprop_hprop := Build_HProp (is_inl (l q r nu));
dec_dhprop := decidable_is_inl (l q r nu)
|} -> ' q < x
simpl .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
q, r : Q
nu : q < r
is_inl (l q r nu) -> ' q < x
apply un_inl.
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
forall (q r : Q) (nu : q < r),
~
{|
dhprop_hprop := Build_HProp (is_inl (l q r nu));
dec_dhprop := decidable_is_inl (l q r nu)
|} -> x < ' r
intros q r nu.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
q, r : Q
nu : q < r
~
{|
dhprop_hprop := Build_HProp (is_inl (l q r nu));
dec_dhprop := decidable_is_inl (l q r nu)
|} -> x < ' r
simpl .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
q, r : Q
nu : q < r
~ is_inl (l q r nu) -> x < ' r
destruct (l q r nu) as [ltqx|].Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
q, r : Q
nu : q < r
ltqx : ' q < x
~ is_inl (inl ltqx) -> x < ' r
+ Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
q, r : Q
nu : q < r
ltqx : ' q < x
~ is_inl (inl ltqx) -> x < ' r
simpl ; intros f; destruct (f tt).
+ Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
q, r : Q
nu : q < r
l0 : x < ' r
~ is_inl (inr l0) -> x < ' r
intros ?; assumption .
Defined .
Definition locator'_locator : locator' x -> locator x.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
locator' x -> locator x
Proof .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
locator' x -> locator x
intros l' q r nu.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l' : locator' x
q, r : Q
nu : q < r
(' q < x) + (x < ' r)
destruct (dec (locates_right l' nu)) as [yes|no].Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l' : locator' x
q, r : Q
nu : q < r
yes : locates_right l' nu
(' q < x) + (x < ' r)
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l' : locator' x
q, r : Q
nu : q < r
yes : locates_right l' nu
(' q < x) + (x < ' r)
apply inl.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l' : locator' x
q, r : Q
nu : q < r
yes : locates_right l' nu
' q < x
exact (locates_right_true l' nu yes).
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l' : locator' x
q, r : Q
nu : q < r
no : ~ locates_right l' nu
(' q < x) + (x < ' r)
apply inr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l' : locator' x
q, r : Q
nu : q < r
no : ~ locates_right l' nu
x < ' r
exact (locates_right_false l' nu no).
Defined .
End logic .
Section logic2 .
Context {x : F}.
Coercion locator_locator' : locator >-> locator'.
Definition locator_locator'_locator (l : locator x) : locator'_locator (locator_locator' l) = l.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
locator'_locator l = l
Proof .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
locator'_locator l = l
apply path_forall; intros q.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
q : Q
locator'_locator l q = l q
apply path_forall; intros r.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
q, r : Q
locator'_locator l q r = l q r
apply path_forall; intros nu.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
q, r : Q
nu : q < r
locator'_locator l q r nu = l q r nu
unfold locator'_locator, locator_locator'.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
q, r : Q
nu : q < r
match
dec
(locates_right
{|
locates_right :=
fun (q r : Q) (nu : q < r) =>
{|
dhprop_hprop :=
Build_HProp (is_inl (l q r nu));
dec_dhprop := decidable_is_inl (l q r nu)
|};
locates_right_true :=
fun (q r : Q) (nu : q < r) =>
un_inl (l q r nu);
locates_right_false :=
fun (q r : Q) (nu : q < r) =>
match
l q r nu as s
return (~ is_inl s -> x < ' r)
with
| inl _ =>
fun f : ~ Unit =>
match f tt return (x < ' r) with
end
| inr b => fun _ : ~ is_inl (inr b) => b
end
|} nu)
with
| inl a =>
inl
(locates_right_true
{|
locates_right :=
fun (q r : Q) (nu : q < r) =>
{|
dhprop_hprop :=
Build_HProp (is_inl (l q r nu));
dec_dhprop :=
decidable_is_inl (l q r nu)
|};
locates_right_true :=
fun (q r : Q) (nu : q < r) =>
un_inl (l q r nu);
locates_right_false :=
fun (q r : Q) (nu : q < r) =>
match
l q r nu as s
return (~ is_inl s -> x < ' r)
with
| inl _ =>
fun f : ~ Unit =>
match f tt return (x < ' r) with
end
| inr b => fun _ : ~ is_inl (inr b) => b
end
|} nu a)
| inr b =>
inr
(locates_right_false
{|
locates_right :=
fun (q r : Q) (nu : q < r) =>
{|
dhprop_hprop :=
Build_HProp (is_inl (l q r nu));
dec_dhprop :=
decidable_is_inl (l q r nu)
|};
locates_right_true :=
fun (q r : Q) (nu : q < r) =>
un_inl (l q r nu);
locates_right_false :=
fun (q r : Q) (nu : q < r) =>
match
l q r nu as s
return (~ is_inl s -> x < ' r)
with
| inl _ =>
fun f : ~ Unit =>
match f tt return (x < ' r) with
end
| inr b0 =>
fun _ : ~ is_inl (inr b0) => b0
end
|} nu b)
end = l q r nu
simpl .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
q, r : Q
nu : q < r
match dec (is_inl (l q r nu)) with
| inl a => inl (un_inl (l q r nu) a)
| inr b =>
inr
(match
l q r nu as s return (~ is_inl s -> x < ' r)
with
| inl _ =>
fun f : ~ Unit =>
match f tt return (x < ' r) with
end
| inr b0 => fun _ : ~ Empty => b0
end b)
end = l q r nu
destruct (l q r nu); auto .
Qed .
Definition locsig : _ <~> locator' x := ltac :(issig).
Lemma locator'_locator_locator' (l' : locator' x)
: locator_locator' (locator'_locator l') = l'.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l' : locator' x
locator'_locator l' = l'
Proof .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l' : locator' x
locator'_locator l' = l'
enough (p : locsig ^-1 (locator_locator' (locator'_locator l')) = locsig ^-1 l').Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l' : locator' x
p : locsig^-1 (locator'_locator l') = locsig^-1 l'
locator'_locator l' = l'
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l' : locator' x
p : locsig^-1 (locator'_locator l') = locsig^-1 l'
locator'_locator l' = l'
refine (equiv_inj (locsig ^-1 ) p).
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l' : locator' x
locsig^-1 (locator'_locator l') = locsig^-1 l'
unfold locsig; simpl .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l' : locator' x
(fun (q r : Q) (nu : q < r) =>
{|
dhprop_hprop :=
Build_HProp (is_inl (locator'_locator l' q r nu));
dec_dhprop :=
decidable_is_inl (locator'_locator l' q r nu)
|};
fun (q r : Q) (nu : q < r) =>
un_inl (locator'_locator l' q r nu);
fun (q r : Q) (nu : q < r) =>
match
locator'_locator l' q r nu as s
return (~ is_inl s -> x < ' r)
with
| inl _ =>
fun f : ~ Unit =>
match f tt return (x < ' r) with
end
| inr b => fun _ : ~ Empty => b
end ) =
(locates_right l'; locates_right_true l';
locates_right_false l')
destruct l'; unfold locator'_locator, locator_locator'; simpl .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
locates_right0 : forall q r : Q, q < r -> DHProp
locates_right_true0 : forall (q r : Q) (nu : q < r),
locates_right0 q r nu -> ' q < x
locates_right_false0 : forall (q r : Q) (nu : q < r),
~ locates_right0 q r nu ->
x < ' r
(fun (q r : Q) (nu : q < r) =>
{|
dhprop_hprop :=
Build_HProp
(is_inl
match dec (locates_right0 q r nu) with
| inl a =>
inl (locates_right_true0 q r nu a)
| inr b =>
inr (locates_right_false0 q r nu b)
end );
dec_dhprop :=
decidable_is_inl
match dec (locates_right0 q r nu) with
| inl a => inl (locates_right_true0 q r nu a)
| inr b => inr (locates_right_false0 q r nu b)
end
|};
fun (q r : Q) (nu : q < r) =>
un_inl
match dec (locates_right0 q r nu) with
| inl a => inl (locates_right_true0 q r nu a)
| inr b => inr (locates_right_false0 q r nu b)
end ;
fun (q r : Q) (nu : q < r) =>
match
match dec (locates_right0 q r nu) with
| inl a => inl (locates_right_true0 q r nu a)
| inr b => inr (locates_right_false0 q r nu b)
end as s return (~ is_inl s -> x < ' r)
with
| inl _ =>
fun f : ~ Unit =>
match f tt return (x < ' r) with
end
| inr b => fun _ : ~ Empty => b
end ) =
(locates_right0; locates_right_true0;
locates_right_false0)
apply path_sigma_hprop; simpl .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
locates_right0 : forall q r : Q, q < r -> DHProp
locates_right_true0 : forall (q r : Q) (nu : q < r),
locates_right0 q r nu -> ' q < x
locates_right_false0 : forall (q r : Q) (nu : q < r),
~ locates_right0 q r nu ->
x < ' r
(fun (q r : Q) (nu : q < r) =>
{|
dhprop_hprop :=
Build_HProp
(is_inl
match dec (locates_right0 q r nu) with
| inl a =>
inl (locates_right_true0 q r nu a)
| inr b =>
inr (locates_right_false0 q r nu b)
end );
dec_dhprop :=
decidable_is_inl
match dec (locates_right0 q r nu) with
| inl a => inl (locates_right_true0 q r nu a)
| inr b => inr (locates_right_false0 q r nu b)
end
|}) = locates_right0
apply path_forall; intro q;
apply path_forall; intro r;
apply path_arrow; intro nu.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
locates_right0 : forall q r : Q, q < r -> DHProp
locates_right_true0 : forall (q r : Q) (nu : q < r),
locates_right0 q r nu -> ' q < x
locates_right_false0 : forall (q r : Q) (nu : q < r),
~ locates_right0 q r nu ->
x < ' r
q, r : Q
nu : q < r
{|
dhprop_hprop :=
Build_HProp
(is_inl
match dec (locates_right0 q r nu) with
| inl a => inl (locates_right_true0 q r nu a)
| inr b =>
inr (locates_right_false0 q r nu b)
end );
dec_dhprop :=
decidable_is_inl
match dec (locates_right0 q r nu) with
| inl a => inl (locates_right_true0 q r nu a)
| inr b => inr (locates_right_false0 q r nu b)
end
|} = locates_right0 q r nu
apply equiv_path_dhprop; simpl .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
locates_right0 : forall q r : Q, q < r -> DHProp
locates_right_true0 : forall (q r : Q) (nu : q < r),
locates_right0 q r nu -> ' q < x
locates_right_false0 : forall (q r : Q) (nu : q < r),
~ locates_right0 q r nu ->
x < ' r
q, r : Q
nu : q < r
is_inl
match dec (locates_right0 q r nu) with
| inl a => inl (locates_right_true0 q r nu a)
| inr b => inr (locates_right_false0 q r nu b)
end = locates_right0 q r nu
rewrite (path_dec (locates_right0 q r nu)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
locates_right0 : forall q r : Q, q < r -> DHProp
locates_right_true0 : forall (q r : Q) (nu : q < r),
locates_right0 q r nu -> ' q < x
locates_right_false0 : forall (q r : Q) (nu : q < r),
~ locates_right0 q r nu ->
x < ' r
q, r : Q
nu : q < r
is_inl
match dec (locates_right0 q r nu) with
| inl a => inl (locates_right_true0 q r nu a)
| inr b => inr (locates_right_false0 q r nu b)
end = is_inl (dec (locates_right0 q r nu))
destruct (dec (locates_right0 q r nu)); auto .
Qed .
Definition equiv_locator_locator' : locator x <~> locator' x
:= equiv_adjointify
locator_locator'
locator'_locator
locator'_locator_locator'
locator_locator'_locator.
Lemma nltqx_locates_left {q r : Q} (l' : locator' x) (ltqr : q < r)
: ~ (' q < x) -> locates_left l' ltqr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
q, r : Q
l' : locator' x
ltqr : q < r
~ (' q < x) -> locates_left l' ltqr
Proof .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
q, r : Q
l' : locator' x
ltqr : q < r
~ (' q < x) -> locates_left l' ltqr
assert (f := locates_right_true l' ltqr).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
q, r : Q
l' : locator' x
ltqr : q < r
f : locates_right l' ltqr -> ' q < x
~ (' q < x) -> locates_left l' ltqr
exact (not_contrapositive f).
Qed .
Lemma ltxq_locates_left {q r : Q} (l' : locator' x) (ltqr : q < r)
: x < ' q -> locates_left l' ltqr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
q, r : Q
l' : locator' x
ltqr : q < r
x < ' q -> locates_left l' ltqr
Proof .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
q, r : Q
l' : locator' x
ltqr : q < r
x < ' q -> locates_left l' ltqr
intros ltxq.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
q, r : Q
l' : locator' x
ltqr : q < r
ltxq : x < ' q
locates_left l' ltqr
apply nltqx_locates_left.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
q, r : Q
l' : locator' x
ltqr : q < r
ltxq : x < ' q
~ (' q < x)
apply lt_flip; assumption .
Qed .
Lemma nltxr_locates_right {q r : Q} (l' : locator' x) (ltqr : q < r)
: ~ (x < ' r) -> locates_right l' ltqr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
q, r : Q
l' : locator' x
ltqr : q < r
~ (x < ' r) -> locates_right l' ltqr
Proof .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
q, r : Q
l' : locator' x
ltqr : q < r
~ (x < ' r) -> locates_right l' ltqr
intros nltxr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
q, r : Q
l' : locator' x
ltqr : q < r
nltxr : ~ (x < ' r)
locates_right l' ltqr
apply stable.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
q, r : Q
l' : locator' x
ltqr : q < r
nltxr : ~ (x < ' r)
~~ locates_right l' ltqr
assert (f := locates_right_false l' ltqr).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
q, r : Q
l' : locator' x
ltqr : q < r
nltxr : ~ (x < ' r)
f : ~ locates_right l' ltqr -> x < ' r
~~ locates_right l' ltqr
exact (not_contrapositive f nltxr).
Qed .
Lemma ltrx_locates_right {q r : Q} (l' : locator' x) (ltqr : q < r)
: 'r < x -> locates_right l' ltqr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
q, r : Q
l' : locator' x
ltqr : q < r
' r < x -> locates_right l' ltqr
Proof .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
q, r : Q
l' : locator' x
ltqr : q < r
' r < x -> locates_right l' ltqr
intros ltrx.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
q, r : Q
l' : locator' x
ltqr : q < r
ltrx : ' r < x
locates_right l' ltqr
apply nltxr_locates_right.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
q, r : Q
l' : locator' x
ltqr : q < r
ltrx : ' r < x
~ (x < ' r)
apply lt_flip; assumption .
Qed .
End logic2 .
Definition ltQnegQ (q : Q) (eps : Qpos Q) : q - 'eps < q.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
q : Q
eps : Qpos Q
q - ' eps < q
Proof .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
q : Q
eps : Qpos Q
q - ' eps < q
apply (pos_minus_lt_compat_r q ('eps)), eps.
Qed .
Local Open Scope mc_scope.
Definition ltQposQ (q : Q) (eps : Qpos Q) : q < q + 'eps.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
q : Q
eps : Qpos Q
q < q + ' eps
Proof .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
q : Q
eps : Qpos Q
q < q + ' eps
apply (pos_plus_lt_compat_r q ('eps)), eps.
Qed .
Section bounds .
(* Given a real with a locator, we can find (integer) bounds. *)
Context {x : F}
(l : locator x).
Definition ltN1 (q : Q) : q - 1 < q := ltQnegQ q 1 .
Definition P_lower (q : Q) : Type := locates_right l (ltN1 q).
Definition P_lower_prop {k } : IsHProp (P_lower k).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
k : Q
IsHProp (P_lower k)
Proof .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
k : Q
IsHProp (P_lower k)
apply _.
Qed .
Definition ltxN1 : x - 1 < x := (fst (pos_minus_lt_compat_r x 1 ) lt_0_1).
Definition P_lower_inhab : hexists (fun q => P_lower q).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
hexists (fun q : Q => P_lower q)
Proof .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
hexists (fun q : Q => P_lower q)
assert (hqlt : hexists (fun q => ' q < x)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
hexists (fun q : Q => ' q < x)
{ Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
hexists (fun q : Q => ' q < x)
assert (hex := archimedean_property Q F (x-1 ) x ltxN1).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
hex : hexists (fun q : Q => x - 1 < ' q < x)
hexists (fun q : Q => ' q < x)
refine (Trunc_rec _ hex); intros hex'.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
hex : hexists (fun q : Q => x - 1 < ' q < x)
hex' : {q : Q & x - 1 < ' q < x}
hexists (fun q : Q => ' q < x)
apply tr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
hex : hexists (fun q : Q => x - 1 < ' q < x)
hex' : {q : Q & x - 1 < ' q < x}
{q : Q & ' q < x}
destruct hex' as [q [ltx1q ltqx]]; exists q ; assumption .
} Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
hqlt : hexists (fun q : Q => ' q < x)
hexists (fun q : Q => P_lower q)
refine (Trunc_rec _ hqlt); intros hqlt'.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
hqlt : hexists (fun q : Q => ' q < x)
hqlt' : {q : Q & ' q < x}
hexists (fun q : Q => P_lower q)
induction hqlt' as [q lt].Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy canonical_names.lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
hqlt : hexists (fun q : Q => ' q < x)
q : Q
lt : ' q < x
hexists (fun q : Q => P_lower q)
apply tr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy canonical_names.lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
hqlt : hexists (fun q : Q => ' q < x)
q : Q
lt : ' q < x
{q : Q & P_lower q}
exists q .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy canonical_names.lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
hqlt : hexists (fun q : Q => ' q < x)
q : Q
lt : ' q < x
P_lower q
unfold P_lower.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy canonical_names.lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
hqlt : hexists (fun q : Q => ' q < x)
q : Q
lt : ' q < x
locates_right l (ltN1 q)
apply ltrx_locates_right; assumption .
Qed .
Definition lower_bound : {q : Q | ' q < x}.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
{q : Q & ' q < x}
Proof .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
{q : Q & ' q < x}
assert (qP_lower : {q : Q | P_lower q})
by refine (minimal_n_alt_type Q Q_eq P_lower _ P_lower_inhab).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
qP_lower : {q : Q & P_lower q}
{q : Q & ' q < x}
destruct qP_lower as [q Pq].Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
q : Q
Pq : P_lower q
{q : Q & ' q < x}
exists (q - 1 ).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
q : Q
Pq : P_lower q
' (q - 1 ) < x
unfold P_lower in Pq.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
q : Q
Pq : locates_right l (ltN1 q)
' (q - 1 ) < x
simpl in *.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
q : Q
Pq : is_inl (l (q - 1 ) q (ltN1 q))
' (q - 1 ) < x
apply (un_inl _ Pq).
Qed .
Definition lt1N (r : Q) : r < r + 1 := ltQposQ r 1 .
Definition P_upper (r : Q) : DHProp := locates_left l (lt1N r).
Definition P_upper_prop {k } : IsHProp (P_upper k).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
k : Q
IsHProp (P_upper k)
Proof .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
k : Q
IsHProp (P_upper k)
apply _.
Qed .
Definition ltx1N : x < x + 1 := (fst (pos_plus_lt_compat_r x 1 ) lt_0_1).
Definition P_upper_inhab : hexists (fun r => P_upper r).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
hexists (fun r : Q => P_upper r)
Proof .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
hexists (fun r : Q => P_upper r)
assert (hqlt : hexists (fun r => x < ' r)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
hexists (fun r : Q => x < ' r)
{ Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
hexists (fun r : Q => x < ' r)
assert (hex := archimedean_property Q F x (x+1 ) ltx1N).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
hex : hexists (fun q : Q => x < ' q < x + 1 )
hexists (fun r : Q => x < ' r)
refine (Trunc_rec _ hex); intros hex'.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
hex : hexists (fun q : Q => x < ' q < x + 1 )
hex' : {q : Q & x < ' q < x + 1 }
hexists (fun r : Q => x < ' r)
apply tr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
hex : hexists (fun q : Q => x < ' q < x + 1 )
hex' : {q : Q & x < ' q < x + 1 }
{r : Q & x < ' r}
destruct hex' as [r [ltxr ltrx1]]; exists r ; assumption .
} Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
hqlt : hexists (fun r : Q => x < ' r)
hexists (fun r : Q => P_upper r)
refine (Trunc_rec _ hqlt); intros hqlt'.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
hqlt : hexists (fun r : Q => x < ' r)
hqlt' : {r : Q & x < ' r}
hexists (fun r : Q => P_upper r)
induction hqlt' as [r lt].Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy canonical_names.lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
hqlt : hexists (fun r : Q => x < ' r)
r : Q
lt : x < ' r
hexists (fun r : Q => P_upper r)
apply tr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy canonical_names.lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
hqlt : hexists (fun r : Q => x < ' r)
r : Q
lt : x < ' r
{r : Q & P_upper r}
exists r .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy canonical_names.lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
hqlt : hexists (fun r : Q => x < ' r)
r : Q
lt : x < ' r
P_upper r
unfold P_upper.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy canonical_names.lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
hqlt : hexists (fun r : Q => x < ' r)
r : Q
lt : x < ' r
locates_left l (lt1N r)
apply ltxq_locates_left; assumption .
Qed .
Definition upper_bound : {r : Q | x < ' r}.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
{r : Q & x < ' r}
Proof .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
{r : Q & x < ' r}
assert (rP_upper : {r : Q | P_upper r})
by refine (minimal_n_alt_type Q Q_eq P_upper _ P_upper_inhab).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
rP_upper : {r : Q & P_upper r}
{r : Q & x < ' r}
destruct rP_upper as [r Pr].Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
r : Q
Pr : P_upper r
{r : Q & x < ' r}
exists (r + 1 ).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
r : Q
Pr : P_upper r
x < ' (r + 1 )
unfold P_upper in Pr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
r : Q
Pr : locates_left l (lt1N r)
x < ' (r + 1 )
simpl in *.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
r : Q
Pr : ~ is_inl (l r (r + 1 ) (lt1N r))
x < ' (r + 1 )
destruct (l r (r + 1 ) (lt1N r)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
r : Q
l0 : ' r < x
Pr : ~ is_inl (inl l0)
x < ' (r + 1 )
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
r : Q
l0 : ' r < x
Pr : ~ is_inl (inl l0)
x < ' (r + 1 )
simpl in Pr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
r : Q
l0 : ' r < x
Pr : ~ Unit
x < ' (r + 1 )
destruct (Pr tt).
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
r : Q
l0 : x < ' (r + 1 )
Pr : ~ is_inl (inr l0)
x < ' (r + 1 )
assumption .
Qed .
Instance inc_N_Q : Cast nat Q := naturals_to_semiring nat Q.
Instance inc_fin_N {n } : Cast (Fin n) nat := fin_to_nat.
Lemma tight_bound (epsilon : Qpos Q) : {u : Q | ' u < x < ' (u + ' epsilon)}.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
{u : Q & ' u < x < ' (u + ' epsilon)}
Proof .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
{u : Q & ' u < x < ' (u + ' epsilon)}
destruct
lower_bound as [q ltqx]
, upper_bound as [r ltxr]
, (round_up_strict Q ((3 /'epsilon)*(r-q))) as [n lt3rqn].Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
{u : Q & ' u < x < ' (u + ' epsilon)}
assert (lt0 : 0 < 'epsilon / 3 ).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
0 < ' epsilon / 3
{ Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
0 < ' epsilon / 3
apply pos_mult.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
0 < ' epsilon
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
0 < ' epsilon
apply epsilon.
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
0 < / 3
apply pos_dec_recip_compat, lt_0_3.
} Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0 : 0 < ' epsilon / 3
{u : Q & ' u < x < ' (u + ' epsilon)}
assert (lt0' : 0 < 3 / ' epsilon).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0 : 0 < ' epsilon / 3
0 < 3 / ' epsilon
{ Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0 : 0 < ' epsilon / 3
0 < 3 / ' epsilon
apply pos_mult.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0 : 0 < ' epsilon / 3
0 < 3
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0 : 0 < ' epsilon / 3
0 < 3
apply lt_0_3.
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0 : 0 < ' epsilon / 3
0 < / ' epsilon
apply pos_dec_recip_compat, epsilon.
} Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0 : 0 < ' epsilon / 3
lt0' : 0 < 3 / ' epsilon
{u : Q & ' u < x < ' (u + ' epsilon)}
assert (ap30 : (3 : Q) <> 0 )
by apply lt_ne_flip, lt_0_3.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0 : 0 < ' epsilon / 3
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
{u : Q & ' u < x < ' (u + ' epsilon)}
clear - l q ltqx r ltxr n lt3rqn lt0' ap30 Qtriv Qdec_paths H cast_pres_ordering.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
{u : Q & ' u < x < ' (u + ' epsilon)}
assert (ltn3eps : r < q + ' n * ' epsilon / 3 ).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
r < q + ' n * ' epsilon / 3
{ Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
r < q + ' n * ' epsilon / 3
rewrite (commutativity q (' n * ' epsilon / 3 )).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
r < ' n * ' epsilon / 3 + q
apply flip_lt_minus_l.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
r - q < ' n * ' epsilon / 3
apply (pos_mult_reflect_r (3 / ' epsilon) lt0').Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
(r - q) * (3 / ' epsilon) <
' n * ' epsilon / 3 * (3 / ' epsilon)
rewrite (commutativity (r-q) (3 / ' epsilon)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
3 / ' epsilon * (r - q) <
' n * ' epsilon / 3 * (3 / ' epsilon)
rewrite <- (associativity ('n) ('epsilon) (/3 )).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
3 / ' epsilon * (r - q) <
' n * (' epsilon / 3 ) * (3 / ' epsilon)
rewrite <- (associativity ('n) (' epsilon / 3 ) (3 / ' epsilon)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
3 / ' epsilon * (r - q) <
' n * (' epsilon / 3 * (3 / ' epsilon))
rewrite <- (associativity ('epsilon) (/3 ) (3 /'epsilon)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
3 / ' epsilon * (r - q) <
' n * (' epsilon * (/ 3 * (3 / ' epsilon)))
rewrite (associativity (/3 ) 3 (/'epsilon)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
3 / ' epsilon * (r - q) <
' n * (' epsilon * (/ 3 * 3 / ' epsilon))
rewrite (commutativity (/3 ) 3 ).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
3 / ' epsilon * (r - q) <
' n * (' epsilon * (3 / 3 / ' epsilon))
rewrite (dec_recip_inverse 3 ap30).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
3 / ' epsilon * (r - q) <
' n * (' epsilon * (1 / ' epsilon))
rewrite mult_1_l.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
3 / ' epsilon * (r - q) <
' n * (' epsilon / ' epsilon)
assert (apepsilon0 : 'epsilon <> 0 )
by apply lt_ne_flip, epsilon.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
apepsilon0 : ' epsilon <> 0
3 / ' epsilon * (r - q) <
' n * (' epsilon / ' epsilon)
rewrite (dec_recip_inverse ('epsilon) apepsilon0).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
apepsilon0 : ' epsilon <> 0
3 / ' epsilon * (r - q) < ' n * 1
rewrite mult_1_r.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
apepsilon0 : ' epsilon <> 0
3 / ' epsilon * (r - q) < ' n
assumption .
} Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
{u : Q & ' u < x < ' (u + ' epsilon)}
set (grid (k : Fin n.+3 ) := q + (' (' k) - 1 )*('epsilon/3 ) : Q).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
{u : Q & ' u < x < ' (u + ' epsilon)}
assert (lt_grid : forall k : Fin _, grid (fin_incl k) < grid (fsucc k)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
{ Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
intros k.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
k : Fin n.+2
grid (fin_incl k) < grid (fsucc k)
unfold grid.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
k : Fin n.+2
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
change (' fin_incl k) with (fin_to_nat (fin_incl k));
rewrite path_nat_fin_incl.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
k : Fin n.+2
q + (' fin_to_nat k - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
change (' fsucc k) with (fin_to_nat (fsucc k));
rewrite path_nat_fsucc.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
k : Fin n.+2
q + (' fin_to_nat k - 1 ) * (' epsilon / 3 ) <
q + (' ((fin_to_nat k).+1 )%nat - 1 ) * (' epsilon / 3 )
assert (' (S (' k)) = (' (' k) + 1 )) as ->.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
k : Fin n.+2
' ((' k).+1 )%nat = ' (' k) + 1
{ Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
k : Fin n.+2
' ((' k).+1 )%nat = ' (' k) + 1
rewrite S_nat_plus_1.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
k : Fin n.+2
' (' k + 1 ) = ' (' k) + 1
rewrite (preserves_plus (' k) 1 ).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
k : Fin n.+2
' (' k) + ' 1 = ' (' k) + 1
rewrite preserves_1.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
k : Fin n.+2
' (' k) + 1 = ' (' k) + 1
reflexivity .
} Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
k : Fin n.+2
q + (' fin_to_nat k - 1 ) * (' epsilon / 3 ) <
q + (' (' k) + 1 - 1 ) * (' epsilon / 3 )
assert (' (' k) + 1 - 1 = ' (' k) - 1 + 1 ) as ->.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
k : Fin n.+2
' (' k) + 1 - 1 = ' (' k) - 1 + 1
{ Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
k : Fin n.+2
' (' k) + 1 - 1 = ' (' k) - 1 + 1
rewrite <- (associativity _ 1 (-1 )).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
k : Fin n.+2
' (' k) + (1 - 1 ) = ' (' k) - 1 + 1
rewrite (commutativity 1 (-1 )).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
k : Fin n.+2
' (' k) + (-1 + 1 ) = ' (' k) - 1 + 1
rewrite (associativity _ (-1 ) 1 ).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
k : Fin n.+2
' (' k) - 1 + 1 = ' (' k) - 1 + 1
reflexivity .
} Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
k : Fin n.+2
q + (' fin_to_nat k - 1 ) * (' epsilon / 3 ) <
q + (' (' k) - 1 + 1 ) * (' epsilon / 3 )
assert (lt1 : ' (' k) - 1 < ' (' k) - 1 + 1 )
by apply pos_plus_lt_compat_r, lt_0_1.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
k : Fin n.+2
lt1 : ' (' k) - 1 < ' (' k) - 1 + 1
q + (' fin_to_nat k - 1 ) * (' epsilon / 3 ) <
q + (' (' k) - 1 + 1 ) * (' epsilon / 3 )
assert (lt2 : (' (' k) - 1 ) * (' epsilon / 3 ) < (' (' k) - 1 + 1 ) * (' epsilon / 3 )).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
k : Fin n.+2
lt1 : ' (' k) - 1 < ' (' k) - 1 + 1
(' (' k) - 1 ) * (' epsilon / 3 ) <
(' (' k) - 1 + 1 ) * (' epsilon / 3 )
{ Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
k : Fin n.+2
lt1 : ' (' k) - 1 < ' (' k) - 1 + 1
(' (' k) - 1 ) * (' epsilon / 3 ) <
(' (' k) - 1 + 1 ) * (' epsilon / 3 )
nrefine (pos_mult_lt_r ('epsilon/3 ) _ (' (' k) - 1 ) (' (' k) - 1 + 1 ) _); try apply _. Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
k : Fin n.+2
lt1 : ' (' k) - 1 < ' (' k) - 1 + 1
' (' k) - 1 < ' (' k) - 1 + 1
apply lt1.
} Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
k : Fin n.+2
lt1 : ' (' k) - 1 < ' (' k) - 1 + 1
lt2 : (' (' k) - 1 ) * (' epsilon / 3 ) <
(' (' k) - 1 + 1 ) * (' epsilon / 3 )
q + (' fin_to_nat k - 1 ) * (' epsilon / 3 ) <
q + (' (' k) - 1 + 1 ) * (' epsilon / 3 )
apply pseudo_srorder_plus.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
k : Fin n.+2
lt1 : ' (' k) - 1 < ' (' k) - 1 + 1
lt2 : (' (' k) - 1 ) * (' epsilon / 3 ) <
(' (' k) - 1 + 1 ) * (' epsilon / 3 )
(' fin_to_nat k - 1 ) * (' epsilon / 3 ) <
(' (' k) - 1 + 1 ) * (' epsilon / 3 )
exact lt2.
} Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
{u : Q & ' u < x < ' (u + ' epsilon)}
set (P k := locates_right l (lt_grid k)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
{u : Q & ' u < x < ' (u + ' epsilon)}
assert (left_true : P fin_zero).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
P fin_zero
{ Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
P fin_zero
apply ltrx_locates_right.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
' grid (fsucc fin_zero) < x
unfold grid.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
' (q + (' (' fsucc fin_zero) - 1 ) * (' epsilon / 3 )) <
x
change (' fsucc fin_zero) with (fin_to_nat (@fsucc (S n) fin_zero)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
' (q +
(' fin_to_nat (fsucc fin_zero) - 1 ) *
(' epsilon / 3 )) < x
rewrite path_nat_fsucc, path_nat_fin_zero.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
' (q + (' 1 %nat - 1 ) * (' epsilon / 3 )) < x
rewrite (@preserves_1 nat Q _ _ _ _ _ _ _ _ _ _).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
' (q + (1 - 1 ) * (' epsilon / 3 )) < x
rewrite plus_negate_r.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
' (q + 0 * (' epsilon / 3 )) < x
rewrite mult_0_l.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
' (q + 0 ) < x
rewrite plus_0_r.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
' q < x
assumption .
} Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
left_true : P fin_zero
{u : Q & ' u < x < ' (u + ' epsilon)}
assert (right_false : ~ P fin_last).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
left_true : P fin_zero
~ P fin_last
{ Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
left_true : P fin_zero
~ P fin_last
apply ltxq_locates_left.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
left_true : P fin_zero
x < ' grid (fin_incl fin_last)
unfold grid.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
left_true : P fin_zero
x <
' (q + (' (' fin_incl fin_last) - 1 ) * (' epsilon / 3 ))
change (' fin_incl fin_last) with (fin_to_nat (@fin_incl (S (S n)) fin_last)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
left_true : P fin_zero
x <
' (q +
(' fin_to_nat (fin_incl fin_last) - 1 ) *
(' epsilon / 3 ))
rewrite path_nat_fin_incl, path_nat_fin_last.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
left_true : P fin_zero
x < ' (q + (' (n.+1 )%nat - 1 ) * (' epsilon / 3 ))
rewrite S_nat_plus_1.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
left_true : P fin_zero
x < ' (q + (' (n + 1 ) - 1 ) * (' epsilon / 3 ))
rewrite (preserves_plus n 1 ).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
left_true : P fin_zero
x < ' (q + (' n + ' 1 - 1 ) * (' epsilon / 3 ))
rewrite (@preserves_1 nat Q _ _ _ _ _ _ _ _ _ _).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
left_true : P fin_zero
x < ' (q + (' n + 1 - 1 ) * (' epsilon / 3 ))
rewrite <- (associativity (' n) 1 (-1 )).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
left_true : P fin_zero
x < ' (q + (' n + (1 - 1 )) * (' epsilon / 3 ))
rewrite plus_negate_r.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
left_true : P fin_zero
x < ' (q + (' n + 0 ) * (' epsilon / 3 ))
rewrite plus_0_r.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
left_true : P fin_zero
x < ' (q + ' n * (' epsilon / 3 ))
rewrite (associativity ('n) ('epsilon) (/3 )).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
left_true : P fin_zero
x < ' (q + ' n * ' epsilon / 3 )
transitivity ('r).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
left_true : P fin_zero
x < ' r
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
left_true : P fin_zero
x < ' r
exact ltxr.
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
left_true : P fin_zero
' r < ' (q + ' n * ' epsilon / 3 )
apply strictly_order_preserving; try trivial .
} Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
left_true : P fin_zero
right_false : ~ P fin_last
{u : Q & ' u < x < ' (u + ' epsilon)}
destruct (sperners_lemma_1d P left_true right_false) as [u [Pltux Pltxueps]].Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
left_true : P fin_zero
right_false : ~ P fin_last
u : Fin n.+1
Pltux : P (fin_incl u)
Pltxueps : ~ P (fsucc u)
{u : Q & ' u < x < ' (u + ' epsilon)}
exists (grid (fin_incl (fin_incl u))).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
left_true : P fin_zero
right_false : ~ P fin_last
u : Fin n.+1
Pltux : P (fin_incl u)
Pltxueps : ~ P (fsucc u)
' grid (fin_incl (fin_incl u)) < x <
' (grid (fin_incl (fin_incl u)) + ' epsilon)
unfold P in Pltux, Pltxueps.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
left_true : P fin_zero
right_false : ~ P fin_last
u : Fin n.+1
Pltux : locates_right l (lt_grid (fin_incl u))
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
' grid (fin_incl (fin_incl u)) < x <
' (grid (fin_incl (fin_incl u)) + ' epsilon)
split .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
left_true : P fin_zero
right_false : ~ P fin_last
u : Fin n.+1
Pltux : locates_right l (lt_grid (fin_incl u))
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
' grid (fin_incl (fin_incl u)) < x
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
left_true : P fin_zero
right_false : ~ P fin_last
u : Fin n.+1
Pltux : locates_right l (lt_grid (fin_incl u))
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
' grid (fin_incl (fin_incl u)) < x
apply (locates_right_true l (lt_grid (fin_incl u)) Pltux).
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
H : Funext
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
ltqx : ' q < x
r : Q
ltxr : x < ' r
n : nat
lt3rqn : 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
lt0' : 0 < 3 / ' epsilon
ap30 : (3 : Q) <> 0
ltn3eps : r < q + ' n * ' epsilon / 3
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
P := fun k : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp
left_true : P fin_zero
right_false : ~ P fin_last
u : Fin n.+1
Pltux : locates_right l (lt_grid (fin_incl u))
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
x < ' (grid (fin_incl (fin_incl u)) + ' epsilon)
clear - Pltxueps Qtriv Qdec_paths ap30 cast_pres_ordering.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : (3 : Q) <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
x < ' (grid (fin_incl (fin_incl u)) + ' epsilon)
set (ltxbla := locates_right_false l (lt_grid (fsucc u)) Pltxueps).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : (3 : Q) <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ) : Q: Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
grid (fin_incl k) < grid (fsucc k)
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla := locates_right_false l (lt_grid (fsucc u))
Pltxueps : x < ' grid (fsucc (fsucc u))
x < ' (grid (fin_incl (fin_incl u)) + ' epsilon)
unfold grid in *.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : 3 <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ): Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla := locates_right_false l (lt_grid (fsucc u))
Pltxueps : x <
' (q +
(' (' fsucc (fsucc u)) - 1 ) *
(' epsilon / 3 ))
x <
' (q +
(' (' fin_incl (fin_incl u)) - 1 ) * (' epsilon / 3 ) +
' epsilon)
change (' fin_incl (fin_incl u)) with (fin_to_nat (fin_incl (fin_incl u))).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : 3 <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ): Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla := locates_right_false l (lt_grid (fsucc u))
Pltxueps : x <
' (q +
(' (' fsucc (fsucc u)) - 1 ) *
(' epsilon / 3 ))
x <
' (q +
(' fin_to_nat (fin_incl (fin_incl u)) - 1 ) *
(' epsilon / 3 ) + ' epsilon)
rewrite path_nat_fin_incl, path_nat_fin_incl.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : 3 <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ): Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla := locates_right_false l (lt_grid (fsucc u))
Pltxueps : x <
' (q +
(' (' fsucc (fsucc u)) - 1 ) *
(' epsilon / 3 ))
x <
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
' epsilon)
change (' fsucc (fsucc u)) with (fin_to_nat (fsucc (fsucc u))) in ltxbla.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : 3 <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ): Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla := locates_right_false l (lt_grid (fsucc u))
Pltxueps : x <
' (q +
(' fin_to_nat (fsucc (fsucc u)) - 1 ) *
(' epsilon / 3 ))
x <
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
' epsilon)
rewrite path_nat_fsucc, path_nat_fsucc in ltxbla.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : 3 <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ): Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla : x <
' (q +
(' ((fin_to_nat u).+2 )%nat - 1 ) *
(' epsilon / 3 ))
x <
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
' epsilon)
rewrite S_nat_plus_1, S_nat_plus_1 in ltxbla.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : 3 <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ): Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla : x <
' (q +
(' (fin_to_nat u + 1 + 1 ) - 1 ) *
(' epsilon / 3 ))
x <
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
' epsilon)
rewrite (preserves_plus (fin_to_nat u + 1 ) 1 ) in ltxbla.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : 3 <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ): Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla : x <
' (q +
(' (fin_to_nat u + 1 ) + ' 1 - 1 ) *
(' epsilon / 3 ))
x <
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
' epsilon)
rewrite (preserves_plus (fin_to_nat u) 1 ) in ltxbla.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : 3 <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ): Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla : x <
' (q +
(' fin_to_nat u + ' 1 + ' 1 - 1 ) *
(' epsilon / 3 ))
x <
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
' epsilon)
rewrite preserves_1 in ltxbla.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : 3 <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ): Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla : x <
' (q +
(' fin_to_nat u + 1 + 1 - 1 ) *
(' epsilon / 3 ))
x <
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
' epsilon)
rewrite <- (associativity (' fin_to_nat u) 1 1 ) in ltxbla.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : 3 <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ): Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla : x <
' (q +
(' fin_to_nat u + 2 - 1 ) * (' epsilon / 3 ))
x <
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
' epsilon)
rewrite <- (associativity (' fin_to_nat u) 2 (-1 )) in ltxbla.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : 3 <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ): Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla : x <
' (q +
(' fin_to_nat u + (2 - 1 )) *
(' epsilon / 3 ))
x <
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
' epsilon)
rewrite (commutativity 2 (-1 )) in ltxbla.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : 3 <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ): Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla : x <
' (q +
(' fin_to_nat u + (-1 + 2 )) *
(' epsilon / 3 ))
x <
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
' epsilon)
rewrite (associativity (' fin_to_nat u) (-1 ) 2 ) in ltxbla.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : 3 <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ): Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla : x <
' (q +
(' fin_to_nat u - 1 + 2 ) * (' epsilon / 3 ))
x <
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
' epsilon)
rewrite plus_mult_distr_r in ltxbla.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : 3 <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ): Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla : x <
' (q +
((' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
2 * (' epsilon / 3 )))
x <
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
' epsilon)
rewrite (associativity q ((' fin_to_nat u - 1 ) * (' epsilon / 3 )) (2 * (' epsilon / 3 ))) in ltxbla.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : 3 <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ): Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla : x <
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
2 * (' epsilon / 3 ))
x <
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
' epsilon)
refine (transitivity ltxbla _).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : 3 <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ): Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla : x <
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
2 * (' epsilon / 3 ))
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
2 * (' epsilon / 3 )) <
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
' epsilon)
apply strictly_order_preserving; try apply _.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : 3 <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ): Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla : x <
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
2 * (' epsilon / 3 ))
q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
2 * (' epsilon / 3 ) <
q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) + ' epsilon
apply pseudo_srorder_plus.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : 3 <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ): Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla : x <
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
2 * (' epsilon / 3 ))
2 * (' epsilon / 3 ) < ' epsilon
rewrite (associativity 2 ('epsilon) (/3 )).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : 3 <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ): Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla : x <
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
2 * (' epsilon / 3 ))
2 * ' epsilon / 3 < ' epsilon
rewrite (commutativity 2 ('epsilon)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : 3 <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ): Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla : x <
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
2 * (' epsilon / 3 ))
' epsilon * 2 / 3 < ' epsilon
rewrite <- (mult_1_r ('epsilon)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : 3 <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ): Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla : x <
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
2 * (' epsilon / 3 ))
' epsilon * 1 * 2 / 3 < ' epsilon * 1
rewrite <- (associativity ('epsilon) 1 2 ).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : 3 <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ): Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla : x <
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
2 * (' epsilon / 3 ))
' epsilon * (1 * 2 ) / 3 < ' epsilon * 1
rewrite (mult_1_l 2 ).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : 3 <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ): Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla : x <
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
2 * (' epsilon / 3 ))
' epsilon * 2 / 3 < ' epsilon * 1
rewrite <- (associativity ('epsilon) 2 (/3 )).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : 3 <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ): Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla : x <
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
2 * (' epsilon / 3 ))
' epsilon * (2 / 3 ) < ' epsilon * 1
apply pos_mult_lt_l.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : 3 <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ): Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla : x <
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
2 * (' epsilon / 3 ))
PropHolds (0 < ' epsilon)
+ Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : 3 <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ): Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla : x <
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
2 * (' epsilon / 3 ))
PropHolds (0 < ' epsilon)
apply epsilon.
+ Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : 3 <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ): Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla : x <
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
2 * (' epsilon / 3 ))
2 / 3 < 1
nrefine (pos_mult_reflect_r (3 : Q) lt_0_3 _ _ _); try apply _. Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : 3 <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ): Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla : x <
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
2 * (' epsilon / 3 ))
2 / 3 * 3 < 1 * 3
rewrite <- (associativity 2 (/3 ) 3 ).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : 3 <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ): Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla : x <
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
2 * (' epsilon / 3 ))
2 * (/ 3 * 3 ) < 1 * 3
rewrite (commutativity (/3 ) 3 ).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : 3 <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ): Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla : x <
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
2 * (' epsilon / 3 ))
2 * (3 / 3 ) < 1 * 3
rewrite (dec_recip_inverse (3 : Q) ap30).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : 3 <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ): Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla : x <
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
2 * (' epsilon / 3 ))
2 * 1 < 1 * 3
rewrite (mult_1_r 2 ).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : 3 <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ): Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla : x <
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
2 * (' epsilon / 3 ))
2 < 1 * 3
rewrite (mult_1_l 3 ).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
cast_pres_ordering : StrictlyOrderPreserving qinc
x : F
l : locator x
epsilon : Qpos Q
q : Q
n : nat
ap30 : 3 <> 0
grid := fun k : Fin n.+3 =>
q + (' (' k) - 1 ) * (' epsilon / 3 ): Fin n.+3 -> Q
lt_grid : forall k : Fin n.+2 ,
q + (' (' fin_incl k) - 1 ) * (' epsilon / 3 ) <
q + (' (' fsucc k) - 1 ) * (' epsilon / 3 )
u : Fin n.+1
Pltxueps : ~ locates_right l (lt_grid (fsucc u))
ltxbla : x <
' (q + (' fin_to_nat u - 1 ) * (' epsilon / 3 ) +
2 * (' epsilon / 3 ))
2 < 3
exact lt_2_3.
Qed .
End bounds .
Section arch_struct .
Context {x y : F}
(l : locator x)
(m : locator y)
(ltxy : x < y).
Definition P (qeps' : Q * Qpos Q) : Type :=
match qeps' with
| (q' , eps') =>
(prod
(locates_left l (ltQnegQ q' eps'))
(locates_right m (ltQposQ q' eps')))
end .
Definition P_isHProp qeps' : IsHProp (P qeps').Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
qeps' : (Q * Qpos Q)%type
IsHProp (P qeps')
Proof .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
qeps' : (Q * Qpos Q)%type
IsHProp (P qeps')
destruct qeps' as [q eps'].Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
q : Q
eps' : Qpos Q
IsHProp (P (q, eps'))
apply istrunc_prod.
Qed .
Definition P_dec qeps' : Decidable (P qeps').Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
qeps' : (Q * Qpos Q)%type
Decidable (P qeps')
Proof .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
qeps' : (Q * Qpos Q)%type
Decidable (P qeps')
destruct qeps' as [q eps'].Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
q : Q
eps' : Qpos Q
Decidable (P (q, eps'))
unfold P.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
q : Q
eps' : Qpos Q
Decidable
(locates_left l (ltQnegQ q eps') *
locates_right m (ltQposQ q eps'))
apply _.
Qed .
Definition P_inhab : hexists P.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hexists P
Proof .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hexists P
assert (hs := (archimedean_property Q F x y ltxy)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hs : hexists (fun q : Q => x < ' q < y)
hexists P
refine (Trunc_ind _ _ hs); intros [s [ltxs ltsy]].Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hs : hexists (fun q : Q => x < ' q < y)
s : Q
ltxs : x < ' s
ltsy : ' s < y
hexists P
assert (ht := (archimedean_property Q F ('s) y ltsy)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hs : hexists (fun q : Q => x < ' q < y)
s : Q
ltxs : x < ' s
ltsy : ' s < y
ht : hexists (fun q : Q => ' s < ' q < y)
hexists P
refine (Trunc_ind _ _ ht); intros [t [ltst' ltty]].Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hs : hexists (fun q : Q => x < ' q < y)
s : Q
ltxs : x < ' s
ltsy : ' s < y
ht : hexists (fun q : Q => ' s < ' q < y)
t : Q
ltst' : ' s < ' t
ltty : ' t < y
hexists P
set (q := (t + s) / 2 ).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hs : hexists (fun q : Q => x < ' q < y)
s : Q
ltxs : x < ' s
ltsy : ' s < y
ht : hexists (fun q : Q => ' s < ' q < y)
t : Q
ltst' : ' s < ' t
ltty : ' t < y
q := (t + s) / 2 : Q
hexists P
assert (ltst : s < t).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hs : hexists (fun q : Q => x < ' q < y)
s : Q
ltxs : x < ' s
ltsy : ' s < y
ht : hexists (fun q : Q => ' s < ' q < y)
t : Q
ltst' : ' s < ' t
ltty : ' t < y
q := (t + s) / 2 : Q
s < t
{ Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hs : hexists (fun q : Q => x < ' q < y)
s : Q
ltxs : x < ' s
ltsy : ' s < y
ht : hexists (fun q : Q => ' s < ' q < y)
t : Q
ltst' : ' s < ' t
ltty : ' t < y
q := (t + s) / 2 : Q
s < t
Existing Instance full_pseudo_order_reflecting .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hs : hexists (fun q : Q => x < ' q < y)
s : Q
ltxs : x < ' s
ltsy : ' s < y
ht : hexists (fun q : Q => ' s < ' q < y)
t : Q
ltst' : ' s < ' t
ltty : ' t < y
q := (t + s) / 2 : Q
s < t
refine (strictly_order_reflecting _ _ _ ltst').
} Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hs : hexists (fun q : Q => x < ' q < y)
s : Q
ltxs : x < ' s
ltsy : ' s < y
ht : hexists (fun q : Q => ' s < ' q < y)
t : Q
ltst' : ' s < ' t
ltty : ' t < y
q := (t + s) / 2 : Q
ltst : s < t
hexists P
set (epsilon := (Qpos_diff s t ltst) / 2 ).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hs : hexists (fun q : Q => x < ' q < y)
s : Q
ltxs : x < ' s
ltsy : ' s < y
ht : hexists (fun q : Q => ' s < ' q < y)
t : Q
ltst' : ' s < ' t
ltty : ' t < y
q := (t + s) / 2 : Q
ltst : s < t
epsilon := Qpos_diff s t ltst / 2 : Qpos Q
hexists P
apply tr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hs : hexists (fun q : Q => x < ' q < y)
s : Q
ltxs : x < ' s
ltsy : ' s < y
ht : hexists (fun q : Q => ' s < ' q < y)
t : Q
ltst' : ' s < ' t
ltty : ' t < y
q := (t + s) / 2 : Q
ltst : s < t
epsilon := Qpos_diff s t ltst / 2 : Qpos Q
{x : _ & P x}
exists (q , epsilon).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hs : hexists (fun q : Q => x < ' q < y)
s : Q
ltxs : x < ' s
ltsy : ' s < y
ht : hexists (fun q : Q => ' s < ' q < y)
t : Q
ltst' : ' s < ' t
ltty : ' t < y
q := (t + s) / 2 : Q
ltst : s < t
epsilon := Qpos_diff s t ltst / 2 : Qpos Q
P (q, epsilon)
unfold P; split .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hs : hexists (fun q : Q => x < ' q < y)
s : Q
ltxs : x < ' s
ltsy : ' s < y
ht : hexists (fun q : Q => ' s < ' q < y)
t : Q
ltst' : ' s < ' t
ltty : ' t < y
q := (t + s) / 2 : Q
ltst : s < t
epsilon := Qpos_diff s t ltst / 2 : Qpos Q
locates_left l (ltQnegQ q epsilon)
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hs : hexists (fun q : Q => x < ' q < y)
s : Q
ltxs : x < ' s
ltsy : ' s < y
ht : hexists (fun q : Q => ' s < ' q < y)
t : Q
ltst' : ' s < ' t
ltty : ' t < y
q := (t + s) / 2 : Q
ltst : s < t
epsilon := Qpos_diff s t ltst / 2 : Qpos Q
locates_left l (ltQnegQ q epsilon)
apply ltxq_locates_left.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hs : hexists (fun q : Q => x < ' q < y)
s : Q
ltxs : x < ' s
ltsy : ' s < y
ht : hexists (fun q : Q => ' s < ' q < y)
t : Q
ltst' : ' s < ' t
ltty : ' t < y
q := (t + s) / 2 : Q
ltst : s < t
epsilon := Qpos_diff s t ltst / 2 : Qpos Q
x < ' (q - ' epsilon)
assert (q - ' epsilon = s) as ->.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hs : hexists (fun q : Q => x < ' q < y)
s : Q
ltxs : x < ' s
ltsy : ' s < y
ht : hexists (fun q : Q => ' s < ' q < y)
t : Q
ltst' : ' s < ' t
ltty : ' t < y
q := (t + s) / 2 : Q
ltst : s < t
epsilon := Qpos_diff s t ltst / 2 : Qpos Q
q - ' epsilon = s
{ Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hs : hexists (fun q : Q => x < ' q < y)
s : Q
ltxs : x < ' s
ltsy : ' s < y
ht : hexists (fun q : Q => ' s < ' q < y)
t : Q
ltst' : ' s < ' t
ltty : ' t < y
q := (t + s) / 2 : Q
ltst : s < t
epsilon := Qpos_diff s t ltst / 2 : Qpos Q
q - ' epsilon = s
unfold q; cbn .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hs : hexists (fun q : Q => x < ' q < y)
s : Q
ltxs : x < ' s
ltsy : ' s < y
ht : hexists (fun q : Q => ' s < ' q < y)
t : Q
ltst' : ' s < ' t
ltty : ' t < y
q := (t + s) / 2 : Q
ltst : s < t
epsilon := Qpos_diff s t ltst / 2 : Qpos Q
(t + s) / 2 - (t - s) / 2 = s
rewrite <- path_avg_split_diff_l.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hs : hexists (fun q : Q => x < ' q < y)
s : Q
ltxs : x < ' s
ltsy : ' s < y
ht : hexists (fun q : Q => ' s < ' q < y)
t : Q
ltst' : ' s < ' t
ltty : ' t < y
q := (t + s) / 2 : Q
ltst : s < t
epsilon := Qpos_diff s t ltst / 2 : Qpos Q
s + (t - s) / 2 - (t - s) / 2 = s
rewrite <- (plus_assoc s ((t-s)/2 ) (-((t-s)/2 ))).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hs : hexists (fun q : Q => x < ' q < y)
s : Q
ltxs : x < ' s
ltsy : ' s < y
ht : hexists (fun q : Q => ' s < ' q < y)
t : Q
ltst' : ' s < ' t
ltty : ' t < y
q := (t + s) / 2 : Q
ltst : s < t
epsilon := Qpos_diff s t ltst / 2 : Qpos Q
s + ((t - s) / 2 - (t - s) / 2 ) = s
rewrite plus_negate_r.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hs : hexists (fun q : Q => x < ' q < y)
s : Q
ltxs : x < ' s
ltsy : ' s < y
ht : hexists (fun q : Q => ' s < ' q < y)
t : Q
ltst' : ' s < ' t
ltty : ' t < y
q := (t + s) / 2 : Q
ltst : s < t
epsilon := Qpos_diff s t ltst / 2 : Qpos Q
s + 0 = s
rewrite plus_0_r.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hs : hexists (fun q : Q => x < ' q < y)
s : Q
ltxs : x < ' s
ltsy : ' s < y
ht : hexists (fun q : Q => ' s < ' q < y)
t : Q
ltst' : ' s < ' t
ltty : ' t < y
q := (t + s) / 2 : Q
ltst : s < t
epsilon := Qpos_diff s t ltst / 2 : Qpos Q
s = s
reflexivity .
} Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hs : hexists (fun q : Q => x < ' q < y)
s : Q
ltxs : x < ' s
ltsy : ' s < y
ht : hexists (fun q : Q => ' s < ' q < y)
t : Q
ltst' : ' s < ' t
ltty : ' t < y
q := (t + s) / 2 : Q
ltst : s < t
epsilon := Qpos_diff s t ltst / 2 : Qpos Q
x < ' s
assumption .
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hs : hexists (fun q : Q => x < ' q < y)
s : Q
ltxs : x < ' s
ltsy : ' s < y
ht : hexists (fun q : Q => ' s < ' q < y)
t : Q
ltst' : ' s < ' t
ltty : ' t < y
q := (t + s) / 2 : Q
ltst : s < t
epsilon := Qpos_diff s t ltst / 2 : Qpos Q
locates_right m (ltQposQ q epsilon)
apply ltrx_locates_right.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hs : hexists (fun q : Q => x < ' q < y)
s : Q
ltxs : x < ' s
ltsy : ' s < y
ht : hexists (fun q : Q => ' s < ' q < y)
t : Q
ltst' : ' s < ' t
ltty : ' t < y
q := (t + s) / 2 : Q
ltst : s < t
epsilon := Qpos_diff s t ltst / 2 : Qpos Q
' (q + ' epsilon) < y
assert (q + ' epsilon = t) as ->.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hs : hexists (fun q : Q => x < ' q < y)
s : Q
ltxs : x < ' s
ltsy : ' s < y
ht : hexists (fun q : Q => ' s < ' q < y)
t : Q
ltst' : ' s < ' t
ltty : ' t < y
q := (t + s) / 2 : Q
ltst : s < t
epsilon := Qpos_diff s t ltst / 2 : Qpos Q
q + ' epsilon = t
{ Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hs : hexists (fun q : Q => x < ' q < y)
s : Q
ltxs : x < ' s
ltsy : ' s < y
ht : hexists (fun q : Q => ' s < ' q < y)
t : Q
ltst' : ' s < ' t
ltty : ' t < y
q := (t + s) / 2 : Q
ltst : s < t
epsilon := Qpos_diff s t ltst / 2 : Qpos Q
q + ' epsilon = t
unfold q; cbn .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hs : hexists (fun q : Q => x < ' q < y)
s : Q
ltxs : x < ' s
ltsy : ' s < y
ht : hexists (fun q : Q => ' s < ' q < y)
t : Q
ltst' : ' s < ' t
ltty : ' t < y
q := (t + s) / 2 : Q
ltst : s < t
epsilon := Qpos_diff s t ltst / 2 : Qpos Q
(t + s) / 2 + (t - s) / 2 = t
rewrite <- path_avg_split_diff_r.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hs : hexists (fun q : Q => x < ' q < y)
s : Q
ltxs : x < ' s
ltsy : ' s < y
ht : hexists (fun q : Q => ' s < ' q < y)
t : Q
ltst' : ' s < ' t
ltty : ' t < y
q := (t + s) / 2 : Q
ltst : s < t
epsilon := Qpos_diff s t ltst / 2 : Qpos Q
t - (t - s) / 2 + (t - s) / 2 = t
rewrite <- (plus_assoc t (-((t-s)/2 )) ((t-s)/2 )).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hs : hexists (fun q : Q => x < ' q < y)
s : Q
ltxs : x < ' s
ltsy : ' s < y
ht : hexists (fun q : Q => ' s < ' q < y)
t : Q
ltst' : ' s < ' t
ltty : ' t < y
q := (t + s) / 2 : Q
ltst : s < t
epsilon := Qpos_diff s t ltst / 2 : Qpos Q
t + (- ((t - s) / 2 ) + (t - s) / 2 ) = t
rewrite plus_negate_l.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hs : hexists (fun q : Q => x < ' q < y)
s : Q
ltxs : x < ' s
ltsy : ' s < y
ht : hexists (fun q : Q => ' s < ' q < y)
t : Q
ltst' : ' s < ' t
ltty : ' t < y
q := (t + s) / 2 : Q
ltst : s < t
epsilon := Qpos_diff s t ltst / 2 : Qpos Q
t + 0 = t
rewrite plus_0_r.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hs : hexists (fun q : Q => x < ' q < y)
s : Q
ltxs : x < ' s
ltsy : ' s < y
ht : hexists (fun q : Q => ' s < ' q < y)
t : Q
ltst' : ' s < ' t
ltty : ' t < y
q := (t + s) / 2 : Q
ltst : s < t
epsilon := Qpos_diff s t ltst / 2 : Qpos Q
t = t
reflexivity .
} Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hs : hexists (fun q : Q => x < ' q < y)
s : Q
ltxs : x < ' s
ltsy : ' s < y
ht : hexists (fun q : Q => ' s < ' q < y)
t : Q
ltst' : ' s < ' t
ltty : ' t < y
q := (t + s) / 2 : Q
ltst : s < t
epsilon := Qpos_diff s t ltst / 2 : Qpos Q
' t < y
assumption .
Qed .
Definition archimedean_structure : {q : Q | x < 'q < y}.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
{q : Q & x < ' q < y}
Proof .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
{q : Q & x < ' q < y}
assert (R : sig P).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
{x : _ & P x}
{ Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
{x : _ & P x}
apply minimal_n_alt_type.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
nat <~> Q * Qpos Q
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
nat <~> Q * Qpos Q
apply QQpos_eq.
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
forall x : Q * Qpos Q, IsHProp (P x)
apply P_isHProp.
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
forall x : Q * Qpos Q, Decidable (P x)
apply P_dec.
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
hexists (fun x : Q * Qpos Q => P x)
apply P_inhab.
} Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
R : {x : _ & P x}
{q : Q & x < ' q < y}
unfold P in R.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
R : {qeps' : Q * Qpos Q &
(locates_left l (ltQnegQ (fst qeps') (snd qeps')) *
locates_right m (ltQposQ (fst qeps') (snd qeps')))%type}
{q : Q & x < ' q < y}
destruct R as [[q eps] [lleft mright]].Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
q : Q
eps : Qpos Q
lleft : locates_left l (ltQnegQ q eps)
mright : locates_right m (ltQposQ q eps)
{q : Q & x < ' q < y}
exists q ; split .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
q : Q
eps : Qpos Q
lleft : locates_left l (ltQnegQ q eps)
mright : locates_right m (ltQposQ q eps)
x < ' q
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
q : Q
eps : Qpos Q
lleft : locates_left l (ltQnegQ q eps)
mright : locates_right m (ltQposQ q eps)
x < ' q
nrefine (locates_right_false l _ lleft).
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
ltxy : x < y
q : Q
eps : Qpos Q
lleft : locates_left l (ltQnegQ q eps)
mright : locates_right m (ltQposQ q eps)
' q < y
nrefine (locates_right_true m _ mright).
Qed .
End arch_struct .
Section unary_ops .
Context {x : F}
(l : locator x).
Definition locator_minus : locator (-x).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
locator (- x)
Proof .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
locator (- x)
intros q r ltqr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
q, r : Q
ltqr : q < r
((' q < - x) + (- x < ' r))%type
assert (ltnrnq := snd (flip_lt_negate q r) ltqr : -r < -q).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
q, r : Q
ltqr : q < r
ltnrnq : - r < - q
((' q < - x) + (- x < ' r))%type
destruct (l _ _ ltnrnq) as [ltnrx|ltxnq].Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
q, r : Q
ltqr : q < r
ltnrnq : - r < - q
ltnrx : ' (- r) < x
((' q < - x) + (- x < ' r))%type
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
q, r : Q
ltqr : q < r
ltnrnq : - r < - q
ltnrx : ' (- r) < x
((' q < - x) + (- x < ' r))%type
apply inr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
q, r : Q
ltqr : q < r
ltnrnq : - r < - q
ltnrx : ' (- r) < x
- x < ' r
apply char_minus_left.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
q, r : Q
ltqr : q < r
ltnrnq : - r < - q
ltnrx : ' (- r) < x
- ' r < x
rewrite <- preserves_negate.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
q, r : Q
ltqr : q < r
ltnrnq : - r < - q
ltnrx : ' (- r) < x
' (- r) < x
assumption .
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
q, r : Q
ltqr : q < r
ltnrnq : - r < - q
ltxnq : x < ' (- q)
((' q < - x) + (- x < ' r))%type
apply inl.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
q, r : Q
ltqr : q < r
ltnrnq : - r < - q
ltxnq : x < ' (- q)
' q < - x
apply char_minus_right.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
q, r : Q
ltqr : q < r
ltnrnq : - r < - q
ltxnq : x < ' (- q)
x < - ' q
rewrite <- preserves_negate.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
q, r : Q
ltqr : q < r
ltnrnq : - r < - q
ltxnq : x < ' (- q)
x < ' (- q)
assumption .
Qed .
Section recip_pos .
Context (xpos : 0 < x).
Definition recip_nu := positive_apart_zero x xpos.
Definition locator_recip_pos : locator (// (x ; recip_nu)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
locator (// (x; recip_nu))
Proof .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
locator (// (x; recip_nu))
assert (recippos : 0 < // (x ; recip_nu))
by apply pos_recip_compat.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
locator (// (x; recip_nu))
intros q r ltqr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
((' q < // (x; recip_nu)) + (// (x; recip_nu) < ' r))%type
destruct (trichotomy _ q 0 ) as [qneg|[qzero|qpos]].Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qneg : q < 0
((' q < // (x; recip_nu)) + (// (x; recip_nu) < ' r))%type
+ Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qneg : q < 0
((' q < // (x; recip_nu)) + (// (x; recip_nu) < ' r))%type
apply inl.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qneg : q < 0
' q < // (x; recip_nu)
refine (transitivity _ _).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qneg : q < 0
' q < ?Goal1
* Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qneg : q < 0
' q < ?Goal1
apply (strictly_order_preserving _).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qneg : q < 0
q < ?y
exact qneg.
* Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qneg : q < 0
' 0 < // (x; recip_nu)
rewrite preserves_0; assumption .
+ Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qzero : q = 0
((' q < // (x; recip_nu)) + (// (x; recip_nu) < ' r))%type
apply inl.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qzero : q = 0
' q < // (x; recip_nu)
rewrite qzero, preserves_0; assumption .
+ Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qpos : 0 < q
((' q < // (x; recip_nu)) + (// (x; recip_nu) < ' r))%type
assert (qap0 : q ≶ 0 )
by apply (pseudo_order_lt_apart_flip _ _ qpos).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qpos : 0 < q
qap0 : q ≶ 0
((' q < // (x; recip_nu)) + (// (x; recip_nu) < ' r))%type
assert (rap0 : r ≶ 0 ).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qpos : 0 < q
qap0 : q ≶ 0
r ≶ 0
{ Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qpos : 0 < q
qap0 : q ≶ 0
r ≶ 0
refine (pseudo_order_lt_apart_flip _ _ _).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qpos : 0 < q
qap0 : q ≶ 0
0 < r
apply (transitivity qpos ltqr).
} Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qpos : 0 < q
qap0 : q ≶ 0
rap0 : r ≶ 0
((' q < // (x; recip_nu)) + (// (x; recip_nu) < ' r))%type
assert (ltrrrq : / r < / q)
by (apply flip_lt_dec_recip; assumption ).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qpos : 0 < q
qap0 : q ≶ 0
rap0 : r ≶ 0
ltrrrq : / r < / q
((' q < // (x; recip_nu)) + (// (x; recip_nu) < ' r))%type
destruct (l (/r) (/q) ltrrrq) as [ltrrx|ltxrq].Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qpos : 0 < q
qap0 : q ≶ 0
rap0 : r ≶ 0
ltrrrq : / r < / q
ltrrx : ' (/ r) < x
((' q < // (x; recip_nu)) + (// (x; recip_nu) < ' r))%type
* Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qpos : 0 < q
qap0 : q ≶ 0
rap0 : r ≶ 0
ltrrrq : / r < / q
ltrrx : ' (/ r) < x
((' q < // (x; recip_nu)) + (// (x; recip_nu) < ' r))%type
apply inr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qpos : 0 < q
qap0 : q ≶ 0
rap0 : r ≶ 0
ltrrrq : / r < / q
ltrrx : ' (/ r) < x
// (x; recip_nu) < ' r
assert (rpos : 0 < r)
by (transitivity q; assumption ).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qpos : 0 < q
qap0 : q ≶ 0
rap0 : r ≶ 0
ltrrrq : / r < / q
ltrrx : ' (/ r) < x
rpos : 0 < r
// (x; recip_nu) < ' r
assert (rpos' : 0 < ' r).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qpos : 0 < q
qap0 : q ≶ 0
rap0 : r ≶ 0
ltrrrq : / r < / q
ltrrx : ' (/ r) < x
rpos : 0 < r
0 < ' r
{ Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qpos : 0 < q
qap0 : q ≶ 0
rap0 : r ≶ 0
ltrrrq : / r < / q
ltrrx : ' (/ r) < x
rpos : 0 < r
0 < ' r
rewrite <- (@preserves_0 Q F _ _ _ _ _ _ _ _ _ _).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qpos : 0 < q
qap0 : q ≶ 0
rap0 : r ≶ 0
ltrrrq : / r < / q
ltrrx : ' (/ r) < x
rpos : 0 < r
qinc 0 < ' r
apply strictly_order_preserving; try apply _; assumption .
} Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qpos : 0 < q
qap0 : q ≶ 0
rap0 : r ≶ 0
ltrrrq : / r < / q
ltrrx : ' (/ r) < x
rpos : 0 < r
rpos' : 0 < ' r
// (x; recip_nu) < ' r
rewrite (dec_recip_to_recip r (positive_apart_zero ('r) rpos')) in ltrrx.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qpos : 0 < q
qap0 : q ≶ 0
rap0 : r ≶ 0
ltrrrq : / r < / q
rpos' : 0 < ' r
ltrrx : // (' r; positive_apart_zero (' r) rpos') < x
rpos : 0 < r
// (x; recip_nu) < ' r
assert (ltxrr := flip_lt_recip_l x ('r) rpos' ltrrx).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qpos : 0 < q
qap0 : q ≶ 0
rap0 : r ≶ 0
ltrrrq : / r < / q
rpos' : 0 < ' r
ltrrx : // (' r; positive_apart_zero (' r) rpos') < x
rpos : 0 < r
ltxrr : let apx0 :=
positive_apart_zero x
(transitivity
(pos_recip_compat (' r) rpos') ltrrx)
in
// (x; apx0) < ' r
// (x; recip_nu) < ' r
cbn in ltxrr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qpos : 0 < q
qap0 : q ≶ 0
rap0 : r ≶ 0
ltrrrq : / r < / q
rpos' : 0 < ' r
ltrrx : // (' r; positive_apart_zero (' r) rpos') < x
rpos : 0 < r
ltxrr : //
(x;
positive_apart_zero x
(strictorder_trans 0
(//
(' r; positive_apart_zero (' r) rpos'))
x (pos_recip_compat (' r) rpos') ltrrx)) <
' r
// (x; recip_nu) < ' r
rewrite
(recip_irrelevant
x
(positive_apart_zero
x
(transitivity (pos_recip_compat (' r) rpos') ltrrx)) recip_nu) in ltxrr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qpos : 0 < q
qap0 : q ≶ 0
rap0 : r ≶ 0
ltrrrq : / r < / q
rpos' : 0 < ' r
ltrrx : // (' r; positive_apart_zero (' r) rpos') < x
rpos : 0 < r
ltxrr : // (x; recip_nu) < ' r
// (x; recip_nu) < ' r
exact ltxrr.
* Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qpos : 0 < q
qap0 : q ≶ 0
rap0 : r ≶ 0
ltrrrq : / r < / q
ltxrq : x < ' (/ q)
((' q < // (x; recip_nu)) + (// (x; recip_nu) < ' r))%type
apply inl.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qpos : 0 < q
qap0 : q ≶ 0
rap0 : r ≶ 0
ltrrrq : / r < / q
ltxrq : x < ' (/ q)
' q < // (x; recip_nu)
assert (qpos' : 0 < ' q).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qpos : 0 < q
qap0 : q ≶ 0
rap0 : r ≶ 0
ltrrrq : / r < / q
ltxrq : x < ' (/ q)
0 < ' q
{ Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qpos : 0 < q
qap0 : q ≶ 0
rap0 : r ≶ 0
ltrrrq : / r < / q
ltxrq : x < ' (/ q)
0 < ' q
rewrite <- (@preserves_0 Q F _ _ _ _ _ _ _ _ _ _).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qpos : 0 < q
qap0 : q ≶ 0
rap0 : r ≶ 0
ltrrrq : / r < / q
ltxrq : x < ' (/ q)
qinc 0 < ' q
apply strictly_order_preserving; try apply _; assumption .
} Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qpos : 0 < q
qap0 : q ≶ 0
rap0 : r ≶ 0
ltrrrq : / r < / q
ltxrq : x < ' (/ q)
qpos' : 0 < ' q
' q < // (x; recip_nu)
rewrite (dec_recip_to_recip q (positive_apart_zero ('q) qpos')) in ltxrq.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qpos : 0 < q
qap0 : q ≶ 0
rap0 : r ≶ 0
ltrrrq : / r < / q
qpos' : 0 < ' q
ltxrq : x < // (' q; positive_apart_zero (' q) qpos')
' q < // (x; recip_nu)
assert (ltrqx := flip_lt_recip_r ('q) x qpos' xpos ltxrq).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qpos : 0 < q
qap0 : q ≶ 0
rap0 : r ≶ 0
ltrrrq : / r < / q
qpos' : 0 < ' q
ltxrq : x < // (' q; positive_apart_zero (' q) qpos')
ltrqx : ' q < // (x; positive_apart_zero x xpos)
' q < // (x; recip_nu)
rewrite (recip_irrelevant x (positive_apart_zero x xpos) recip_nu) in ltrqx.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xpos : 0 < x
recippos : 0 < // (x; recip_nu)
q, r : Q
ltqr : q < r
qpos : 0 < q
qap0 : q ≶ 0
rap0 : r ≶ 0
ltrrrq : / r < / q
qpos' : 0 < ' q
ltxrq : x < // (' q; positive_apart_zero (' q) qpos')
ltrqx : ' q < // (x; recip_nu)
' q < // (x; recip_nu)
exact ltrqx.
Qed .
End recip_pos .
End unary_ops .
Section recip_neg .
Context {x : F}
(l : locator x)
(xneg : x < 0 ).
Definition recip_neg_nu := negative_apart_zero x xneg.
Definition locator_recip_neg : locator (// (x ; recip_neg_nu)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xneg : x < 0
locator (// (x; recip_neg_nu))
Proof .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xneg : x < 0
locator (// (x; recip_neg_nu))
assert (negxpos : 0 < (-x))
by (apply flip_neg_negate; assumption ).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xneg : x < 0
negxpos : 0 < - x
locator (// (x; recip_neg_nu))
assert (l' := locator_minus (locator_recip_pos (locator_minus l) negxpos)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xneg : x < 0
negxpos : 0 < - x
l' : locator (- (// (- x; recip_nu negxpos)))
locator (// (x; recip_neg_nu))
rewrite (recip_negate (-x)) in l'.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xneg : x < 0
negxpos : 0 < - x
l' : locator (// negate_apart (- x; recip_nu negxpos))
locator (// (x; recip_neg_nu))
unfold negate_apart in l'.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xneg : x < 0
negxpos : 0 < - x
l' : locator
(//
(- - x; apart_negate (- x) (recip_nu negxpos)))
locator (// (x; recip_neg_nu))
rewrite
(recip_proper_alt
(- - x)
x
(apart_negate (- x) (positive_apart_zero (- x) negxpos)) recip_neg_nu)
in l'.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xneg : x < 0
negxpos : 0 < - x
l' : locator (// (x; recip_neg_nu))
locator (// (x; recip_neg_nu))
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xneg : x < 0
negxpos : 0 < - x
l' : locator (// (x; recip_neg_nu))
locator (// (x; recip_neg_nu))
assumption .
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
xneg : x < 0
negxpos : 0 < - x
l' : locator
(//
(- - x; apart_negate (- x) (recip_nu negxpos)))
- - x = x
apply negate_involutive.
Qed .
End recip_neg .
Section unary_ops2 .
Context {x : F}
(l : locator x)
(nu : x ≶ 0 ).
Definition locator_recip : locator (// (x ; nu)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
nu : x ≶ 0
locator (// (x; nu))
Proof .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
nu : x ≶ 0
locator (// (x; nu))
destruct (fst (apart_iff_total_lt x 0 ) nu) as [xneg|xpos].Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
nu : x ≶ 0
xneg : x < 0
locator (// (x; nu))
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
nu : x ≶ 0
xneg : x < 0
locator (// (x; nu))
set (l' := locator_recip_neg l xneg).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
nu : x ≶ 0
xneg : x < 0
l' := locator_recip_neg l xneg : locator (// (x; recip_neg_nu xneg))
locator (// (x; nu))
rewrite (recip_proper_alt x x (negative_apart_zero x xneg) nu) in l';
try reflexivity ; exact l'.
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
nu : x ≶ 0
xpos : 0 < x
locator (// (x; nu))
set (l' := locator_recip_pos l xpos).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x : F
l : locator x
nu : x ≶ 0
xpos : 0 < x
l' := locator_recip_pos l xpos : locator (// (x; recip_nu xpos))
locator (// (x; nu))
rewrite (recip_proper_alt x x (positive_apart_zero x xpos) nu) in l';
try reflexivity ; exact l'.
Qed .
End unary_ops2 .
Section binary_ops .
Context {x y : F}
(l : locator x)
(m : locator y).
(** TODO the following two should be proven in Classes/orders/archimedean.v *)
Context (char_plus_left : forall (q : Q) (x y : F),
' q < x + y <-> hexists (fun s : Q => (' s < x) /\ (' (q - s) < y)))
(char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <-> hexists (fun t : Q => (x < ' t) /\ (y < ' (r - t)))).
Definition locator_plus : locator (x + y).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
locator (x + y)
Proof .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
locator (x + y)
intros q r ltqr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
((' q < (x + y)%mc) + ((x + y)%mc < ' r))%type
set (epsilon := (Qpos_diff q r ltqr) / 2 ).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
((' q < (x + y)%mc) + ((x + y)%mc < ' r))%type
assert (q+'epsilon=r-'epsilon)
by (rewrite path_avg_split_diff_l, path_avg_split_diff_r; reflexivity ).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
((' q < (x + y)%mc) + ((x + y)%mc < ' r))%type
destruct (tight_bound m epsilon) as [u [ltuy ltyuepsilon]].Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
((' q < (x + y)%mc) + ((x + y)%mc < ' r))%type
set (s := q-u).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
((' q < (x + y)%mc) + ((x + y)%mc < ' r))%type
assert (qsltx : 'q-'s<y).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
' q - ' s < y
{ Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
' q - ' s < y
unfold s.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
' q - ' (q - u) < y
rewrite (preserves_plus q (-u)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
' q - (' q + ' (- u)) < y
rewrite negate_plus_distr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
' q + (- ' q - ' (- u)) < y
rewrite (associativity ('q) (-'q) (-'(-u))).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
' q - ' q - ' (- u) < y
rewrite plus_negate_r.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
0 - ' (- u) < y
rewrite plus_0_l.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
- ' (- u) < y
rewrite (preserves_negate u).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
- - ' u < y
rewrite negate_involutive.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
' u < y
assumption .
} Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
qsltx : ' q - ' s < y
((' q < (x + y)%mc) + ((x + y)%mc < ' r))%type
assert (sltseps : s<s+' epsilon)
by apply ltQposQ.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
qsltx : ' q - ' s < y
sltseps : s < s + ' epsilon
((' q < (x + y)%mc) + ((x + y)%mc < ' r))%type
destruct (l s (s+' epsilon) sltseps) as [ltsx|ltxseps].Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
qsltx : ' q - ' s < y
sltseps : s < s + ' epsilon
ltsx : ' s < x
((' q < (x + y)%mc) + ((x + y)%mc < ' r))%type
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
qsltx : ' q - ' s < y
sltseps : s < s + ' epsilon
ltsx : ' s < x
((' q < (x + y)%mc) + ((x + y)%mc < ' r))%type
apply inl.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
qsltx : ' q - ' s < y
sltseps : s < s + ' epsilon
ltsx : ' s < x
' q < x + y
apply char_plus_left.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
qsltx : ' q - ' s < y
sltseps : s < s + ' epsilon
ltsx : ' s < x
hexists
(fun s : Q => ((' s < x) * (' (q - s) < y))%type)
apply tr; exists s ; split ; try assumption .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
qsltx : ' q - ' s < y
sltseps : s < s + ' epsilon
ltsx : ' s < x
' (q - s) < y
rewrite preserves_minus; assumption .
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
qsltx : ' q - ' s < y
sltseps : s < s + ' epsilon
ltxseps : x < ' (s + ' epsilon)
((' q < (x + y)%mc) + ((x + y)%mc < ' r))%type
apply inr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
qsltx : ' q - ' s < y
sltseps : s < s + ' epsilon
ltxseps : x < ' (s + ' epsilon)
x + y < ' r
apply char_plus_right.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
qsltx : ' q - ' s < y
sltseps : s < s + ' epsilon
ltxseps : x < ' (s + ' epsilon)
hexists
(fun t : Q => ((x < ' t) * (y < ' (r - t)))%type)
apply tr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
qsltx : ' q - ' s < y
sltseps : s < s + ' epsilon
ltxseps : x < ' (s + ' epsilon)
{t : Q & ((x < ' t) * (y < ' (r - t)))%type}
set (t := s + ' epsilon); exists t .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
qsltx : ' q - ' s < y
sltseps : s < s + ' epsilon
ltxseps : x < ' (s + ' epsilon)
t := s + ' epsilon : Q
((x < ' t) * (y < ' (r - t)))%type
split ; try assumption .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
qsltx : ' q - ' s < y
sltseps : s < s + ' epsilon
ltxseps : x < ' (s + ' epsilon)
t := s + ' epsilon : Q
y < ' (r - t)
assert (r-(q-u+(r-q)/2 )=u+'epsilon) as ->.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
qsltx : ' q - ' s < y
sltseps : s < s + ' epsilon
ltxseps : x < ' (s + ' epsilon)
t := s + ' epsilon : Q
r - (q - u + (r - q) / 2 ) = u + ' epsilon
{ Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
qsltx : ' q - ' s < y
sltseps : s < s + ' epsilon
ltxseps : x < ' (s + ' epsilon)
t := s + ' epsilon : Q
r - (q - u + (r - q) / 2 ) = u + ' epsilon
change ((r - q) / 2 ) with ('epsilon).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
qsltx : ' q - ' s < y
sltseps : s < s + ' epsilon
ltxseps : x < ' (s + ' epsilon)
t := s + ' epsilon : Q
r - (q - u + ' epsilon) = u + ' epsilon
rewrite negate_plus_distr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
qsltx : ' q - ' s < y
sltseps : s < s + ' epsilon
ltxseps : x < ' (s + ' epsilon)
t := s + ' epsilon : Q
r + (- (q - u) - ' epsilon) = u + ' epsilon
rewrite <- negate_swap_l.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
qsltx : ' q - ' s < y
sltseps : s < s + ' epsilon
ltxseps : x < ' (s + ' epsilon)
t := s + ' epsilon : Q
r + (- q + u - ' epsilon) = u + ' epsilon
rewrite (plus_comm (-q) u).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
qsltx : ' q - ' s < y
sltseps : s < s + ' epsilon
ltxseps : x < ' (s + ' epsilon)
t := s + ' epsilon : Q
r + (u - q - ' epsilon) = u + ' epsilon
rewrite (plus_assoc r (u-q) (-'epsilon)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
qsltx : ' q - ' s < y
sltseps : s < s + ' epsilon
ltxseps : x < ' (s + ' epsilon)
t := s + ' epsilon : Q
r + (u - q) - ' epsilon = u + ' epsilon
rewrite (plus_assoc r u (-q)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
qsltx : ' q - ' s < y
sltseps : s < s + ' epsilon
ltxseps : x < ' (s + ' epsilon)
t := s + ' epsilon : Q
r + u - q - ' epsilon = u + ' epsilon
rewrite (plus_comm r u).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
qsltx : ' q - ' s < y
sltseps : s < s + ' epsilon
ltxseps : x < ' (s + ' epsilon)
t := s + ' epsilon : Q
u + r - q - ' epsilon = u + ' epsilon
rewrite <- (plus_assoc u r (-q)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
qsltx : ' q - ' s < y
sltseps : s < s + ' epsilon
ltxseps : x < ' (s + ' epsilon)
t := s + ' epsilon : Q
u + (r - q) - ' epsilon = u + ' epsilon
rewrite <- (plus_assoc u (r-q) (-'epsilon)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
qsltx : ' q - ' s < y
sltseps : s < s + ' epsilon
ltxseps : x < ' (s + ' epsilon)
t := s + ' epsilon : Q
u + (r - q - ' epsilon) = u + ' epsilon
rewrite (plus_comm r (-q)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
qsltx : ' q - ' s < y
sltseps : s < s + ' epsilon
ltxseps : x < ' (s + ' epsilon)
t := s + ' epsilon : Q
u + (- q + r - ' epsilon) = u + ' epsilon
rewrite <- (plus_assoc (-q) r (-'epsilon)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
qsltx : ' q - ' s < y
sltseps : s < s + ' epsilon
ltxseps : x < ' (s + ' epsilon)
t := s + ' epsilon : Q
u + (- q + (r - ' epsilon)) = u + ' epsilon
rewrite path_avg_split_diff_r.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
qsltx : ' q - ' s < y
sltseps : s < s + ' epsilon
ltxseps : x < ' (s + ' epsilon)
t := s + ' epsilon : Q
u + (- q + (r + q) / 2 ) = u + ' epsilon
rewrite <- path_avg_split_diff_l.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
qsltx : ' q - ' s < y
sltseps : s < s + ' epsilon
ltxseps : x < ' (s + ' epsilon)
t := s + ' epsilon : Q
u + (- q + (q + (r - q) / 2 )) = u + ' epsilon
rewrite (plus_assoc (-q) q ((r-q)/2 )).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
qsltx : ' q - ' s < y
sltseps : s < s + ' epsilon
ltxseps : x < ' (s + ' epsilon)
t := s + ' epsilon : Q
u + (- q + q + (r - q) / 2 ) = u + ' epsilon
rewrite (plus_negate_l q).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
qsltx : ' q - ' s < y
sltseps : s < s + ' epsilon
ltxseps : x < ' (s + ' epsilon)
t := s + ' epsilon : Q
u + (0 + (r - q) / 2 ) = u + ' epsilon
rewrite (plus_0_l _).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
qsltx : ' q - ' s < y
sltseps : s < s + ' epsilon
ltxseps : x < ' (s + ' epsilon)
t := s + ' epsilon : Q
u + (r - q) / 2 = u + ' epsilon
reflexivity .
} Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 2 : Qpos Q
X : q + ' epsilon = r - ' epsilon
u : Q
ltuy : ' u < y
ltyuepsilon : y < ' (u + ' epsilon)
s := q - u : Q
qsltx : ' q - ' s < y
sltseps : s < s + ' epsilon
ltxseps : x < ' (s + ' epsilon)
t := s + ' epsilon : Q
y < ' (u + ' epsilon)
assumption .
Qed .
(* TODO construct locators for multiplications. *)
Lemma locator_times : locator (x * y).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
locator (x * y)
Proof .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
locator (x * y)
Abort .
Lemma locator_meet : locator (meet x y).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
locator (x ⊓ y)
Proof .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
locator (x ⊓ y)
intros q r ltqr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
((' q < x ⊓ y) + (x ⊓ y < ' r))%type
destruct (l q r ltqr, m q r ltqr) as [[ltqx|ltxr] [ltqy|ltyr]].Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
ltqx : ' q < x
ltqy : ' q < y
((' q < x ⊓ y) + (x ⊓ y < ' r))%type
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
ltqx : ' q < x
ltqy : ' q < y
((' q < x ⊓ y) + (x ⊓ y < ' r))%type
apply inl, meet_lt_l; assumption .
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
ltqx : ' q < x
ltyr : y < ' r
((' q < x ⊓ y) + (x ⊓ y < ' r))%type
apply inr, meet_lt_r_r; assumption .
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
ltxr : x < ' r
ltqy : ' q < y
((' q < x ⊓ y) + (x ⊓ y < ' r))%type
apply inr, meet_lt_r_l; assumption .
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
ltxr : x < ' r
ltyr : y < ' r
((' q < x ⊓ y) + (x ⊓ y < ' r))%type
apply inr, meet_lt_r_r; assumption .
Qed .
Lemma locator_join : locator (join x y).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
locator (x ⊔ y)
Proof .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
locator (x ⊔ y)
intros q r ltqr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
((' q < x ⊔ y) + (x ⊔ y < ' r))%type
destruct (l q r ltqr, m q r ltqr) as [[ltqx|ltxr] [ltqy|ltyr]].Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
ltqx : ' q < x
ltqy : ' q < y
((' q < x ⊔ y) + (x ⊔ y < ' r))%type
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
ltqx : ' q < x
ltqy : ' q < y
((' q < x ⊔ y) + (x ⊔ y < ' r))%type
apply inl, join_lt_l_l; assumption .
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
ltqx : ' q < x
ltyr : y < ' r
((' q < x ⊔ y) + (x ⊔ y < ' r))%type
apply inl, join_lt_l_l; assumption .
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
ltxr : x < ' r
ltqy : ' q < y
((' q < x ⊔ y) + (x ⊔ y < ' r))%type
apply inl, join_lt_l_r; assumption .
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
x, y : F
l : locator x
m : locator y
char_plus_left : forall (q : Q) (x y : F),
' q < x + y <->
hexists
(fun s : Q =>
((' s < x) * (' (q - s) < y))%type)
char_plus_right : forall (r : Q) (x y : F),
x + y < ' r <->
hexists
(fun t : Q =>
((x < ' t) * (y < ' (r - t)))%type)
q, r : Q
ltqr : q < r
ltxr : x < ' r
ltyr : y < ' r
((' q < x ⊔ y) + (x ⊔ y < ' r))%type
apply inr, join_lt_r; assumption .
Qed .
End binary_ops .
Section limit .
Context {xs : nat -> F}.
Context {M } {M_ismod : CauchyModulus Q F xs M}.
Context (ls : forall n , locator (xs n)).
Lemma locator_limit {l } : IsLimit _ _ xs l -> locator l.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
IsLimit Q F xs l -> locator l
Proof .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
IsLimit Q F xs l -> locator l
intros islim.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
locator l
intros q r ltqr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
((' q < l) + (l < ' r))%type
set (epsilon := (Qpos_diff q r ltqr) / 3 ).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
((' q < l) + (l < ' r))%type
(* TODO we are doing trisection so we have the inequality: *)
assert (ltqepsreps : q + ' epsilon < r - ' epsilon).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
q + ' epsilon < r - ' epsilon
{ Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
q + ' epsilon < r - ' epsilon
apply (strictly_order_reflecting (+'epsilon)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
q + ' epsilon + ' epsilon < r - ' epsilon + ' epsilon
rewrite <- (plus_assoc r (-'epsilon) ('epsilon)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
q + ' epsilon + ' epsilon <
r + (- ' epsilon + ' epsilon)
rewrite plus_negate_l.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
q + ' epsilon + ' epsilon < r + 0
rewrite plus_0_r.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
q + ' epsilon + ' epsilon < r
rewrite <- (plus_assoc q ('epsilon) ('epsilon)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
q + (' epsilon + ' epsilon) < r
apply (strictly_order_reflecting ((-q)+)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
- q + (q + (' epsilon + ' epsilon)) < - q + r
rewrite (plus_assoc (-q) q _).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
- q + q + (' epsilon + ' epsilon) < - q + r
rewrite plus_negate_l, plus_0_l.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
' epsilon + ' epsilon < - q + r
rewrite (plus_comm (-q) r).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
' epsilon + ' epsilon < r - q
rewrite <- (mult_1_r ('epsilon)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
' epsilon * 1 + ' epsilon * 1 < r - q
rewrite <- plus_mult_distr_l.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
' epsilon * 2 < r - q
unfold epsilon, cast, Qpos_diff; cbn .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
(r - q) / 3 * 2 < r - q
rewrite <- (mult_assoc (r-q) (/3 ) 2 ).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
(r - q) * (/ 3 * 2 ) < r - q
pattern (r-q) at 2 .Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
(fun q0 : Q => (r - q) * (/ 3 * 2 ) < q0) (r - q)
rewrite <- (mult_1_r (r-q)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
(r - q) * (/ 3 * 2 ) < (r - q) * 1
assert (rqpos : 0 < r-q) by apply (Qpos_diff q r ltqr).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
rqpos : 0 < r - q
(r - q) * (/ 3 * 2 ) < (r - q) * 1
apply (strictly_order_preserving ((r-q)*.)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
rqpos : 0 < r - q
/ 3 * 2 < 1
apply (strictly_order_reflecting (3 *.)).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
rqpos : 0 < r - q
3 * (/ 3 * 2 ) < 3 * 1
rewrite (mult_assoc 3 (/3 ) 2 ).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
rqpos : 0 < r - q
3 / 3 * 2 < 3 * 1
rewrite (dec_recip_inverse 3 ).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
rqpos : 0 < r - q
1 * 2 < 3 * 1
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
rqpos : 0 < r - q
1 * 2 < 3 * 1
rewrite mult_1_r, mult_1_l.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
rqpos : 0 < r - q
2 < 3
exact lt_2_3.
- Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
rqpos : 0 < r - q
3 <> 0
apply apart_ne, positive_apart_zero, lt_0_3.
} Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
ltqepsreps : q + ' epsilon < r - ' epsilon
((' q < l) + (l < ' r))%type
destruct (ls (M (epsilon / 2 )) (q + ' epsilon) (r - ' epsilon) ltqepsreps)
as [ltqepsxs|ltxsreps].Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
ltqepsreps : q + ' epsilon < r - ' epsilon
ltqepsxs : ' (q + ' epsilon) < xs (M (epsilon / 2 ))
((' q < l) + (l < ' r))%type
+ Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
ltqepsreps : q + ' epsilon < r - ' epsilon
ltqepsxs : ' (q + ' epsilon) < xs (M (epsilon / 2 ))
((' q < l) + (l < ' r))%type
apply inl.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
ltqepsreps : q + ' epsilon < r - ' epsilon
ltqepsxs : ' (q + ' epsilon) < xs (M (epsilon / 2 ))
' q < l
rewrite preserves_plus in ltqepsxs.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
ltqepsreps : q + ' epsilon < r - ' epsilon
ltqepsxs : ' q + ' (' epsilon) < xs (M (epsilon / 2 ))
' q < l
assert (ltqxseps : ' q < xs (M (epsilon / 2 )) - ' (' epsilon))
by (apply flip_lt_minus_r; assumption ).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
ltqepsreps : q + ' epsilon < r - ' epsilon
ltqepsxs : ' q + ' (' epsilon) < xs (M (epsilon / 2 ))
ltqxseps : ' q < xs (M (epsilon / 2 )) - ' (' epsilon)
' q < l
refine (transitivity ltqxseps _).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
ltqepsreps : q + ' epsilon < r - ' epsilon
ltqepsxs : ' q + ' (' epsilon) < xs (M (epsilon / 2 ))
ltqxseps : ' q < xs (M (epsilon / 2 )) - ' (' epsilon)
xs (M (epsilon / 2 )) - ' (' epsilon) < l
apply (modulus_close_limit _ _ _ _ _).
+ Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
ltqepsreps : q + ' epsilon < r - ' epsilon
ltxsreps : xs (M (epsilon / 2 )) < ' (r - ' epsilon)
((' q < l) + (l < ' r))%type
apply inr.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
ltqepsreps : q + ' epsilon < r - ' epsilon
ltxsreps : xs (M (epsilon / 2 )) < ' (r - ' epsilon)
l < ' r
rewrite (preserves_plus r (-'epsilon)) in ltxsreps.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
ltqepsreps : q + ' epsilon < r - ' epsilon
ltxsreps : xs (M (epsilon / 2 )) <
' r + ' (- ' epsilon)
l < ' r
rewrite (preserves_negate ('epsilon)) in ltxsreps.Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
ltqepsreps : q + ' epsilon < r - ' epsilon
ltxsreps : xs (M (epsilon / 2 )) < ' r - ' (' epsilon)
l < ' r
assert (ltxsepsr : xs (M (epsilon / 2 )) + ' (' epsilon) < ' r)
by (apply flip_lt_minus_r; assumption ).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
ltqepsreps : q + ' epsilon < r - ' epsilon
ltxsreps : xs (M (epsilon / 2 )) < ' r - ' (' epsilon)
ltxsepsr : xs (M (epsilon / 2 )) + ' (' epsilon) < ' r
l < ' r
refine (transitivity _ ltxsepsr).Q : Type
Aap : Apart Q
Aplus : Plus Q
Amult : Mult Q
Azero : Zero Q
Aone : One Q
Aneg : Negate Q
Arecip : DecRecip Q
Ale : Le Q
Alt : Lt Q
U : RationalsToField Q
Qrats : Rationals Q
Qdec_paths : DecidablePaths Q
Qtriv : TrivialApart Q
Trichotomy0 : Trichotomy lt
F : Type
Alt0 : Lt F
Ale0 : Le F
Aap0 : Apart F
Azero0 : Zero F
Aone0 : One F
Aplus0 : Plus F
Anegate : Negate F
Amult0 : Mult F
Arecip0 : Recip F
Ajoin : Join F
Ameet : Meet F
Forderedfield : OrderedField F
Fabs : Abs F
Farchimedean : ArchimedeanProperty Q F
Fcomplete : IsComplete Q F
Qroundup : RoundUpStrict Q
H : Funext
H0 : Univalence
Q_eq : nat <~> Q
QQpos_eq : nat <~> Q * Qpos Q
cast_pres_ordering : StrictlyOrderPreserving qinc
qinc_strong_presving : IsSemiRingStrongPreserving qinc
xs : nat -> F
M : Qpos Q -> nat
M_ismod : CauchyModulus Q F xs M
ls : forall n : nat, locator (xs n)
l : F
islim : IsLimit Q F xs l
q, r : Q
ltqr : q < r
epsilon := Qpos_diff q r ltqr / 3 : Qpos Q
ltqepsreps : q + ' epsilon < r - ' epsilon
ltxsreps : xs (M (epsilon / 2 )) < ' r - ' (' epsilon)
ltxsepsr : xs (M (epsilon / 2 )) + ' (' epsilon) < ' r
l < xs (M (epsilon / 2 )) + ' (' epsilon)
apply (modulus_close_limit _ _ _ _ _).
Qed .
End limit .
End locator .